1/* public api for steve reid's public domain SHA-1 implementation */
2/* this file is in the public domain */
3
4#pragma once
5
6#include "Platform.h"
7
8struct SHA1_CTX
9{
10    uint32_t state[5];
11    uint32_t count[2];
12    uint8_t  buffer[64];
13};
14
15#define SHA1_DIGEST_SIZE 20
16
17void SHA1_Init(SHA1_CTX* context);
18void SHA1_Update(SHA1_CTX* context, const uint8_t* data, const size_t len);
19void SHA1_Final(SHA1_CTX* context, uint8_t digest[SHA1_DIGEST_SIZE]);
20
21void sha1_32a ( const void * key, int len, uint32_t seed, void * out );