1//===- FuzzerSHA1.h - Internal header for the SHA1 utils --------*- C++ -* ===// 2// 3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4// See https://llvm.org/LICENSE.txt for license information. 5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6// 7//===----------------------------------------------------------------------===// 8// SHA1 utils. 9//===----------------------------------------------------------------------===// 10 11#ifndef LLVM_FUZZER_SHA1_H 12#define LLVM_FUZZER_SHA1_H 13 14#include "FuzzerDefs.h" 15#include <cstddef> 16#include <stdint.h> 17 18namespace fuzzer { 19 20// Private copy of SHA1 implementation. 21static const int kSHA1NumBytes = 20; 22 23// Computes SHA1 hash of 'Len' bytes in 'Data', writes kSHA1NumBytes to 'Out'. 24void ComputeSHA1(const uint8_t *Data, size_t Len, uint8_t *Out); 25 26std::string Sha1ToString(const uint8_t Sha1[kSHA1NumBytes]); 27 28std::string Hash(const Unit &U); 29 30} // namespace fuzzer 31 32#endif // LLVM_FUZZER_SHA1_H 33