33 lines · c
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-exception6//7//===----------------------------------------------------------------------===//8// SHA1 utils.9//===----------------------------------------------------------------------===//10 11#ifndef LLVM_FUZZER_SHA1_H12#define LLVM_FUZZER_SHA1_H13 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 fuzzer31 32#endif // LLVM_FUZZER_SHA1_H33