1 /* Sha256.h -- SHA-256 Hash
2 2013-01-18 : Igor Pavlov : Public domain */
3 
4 #ifndef __CRYPTO_SHA256_H
5 #define __CRYPTO_SHA256_H
6 
7 #include "7zTypes.h"
8 
9 EXTERN_C_BEGIN
10 
11 #define SHA256_DIGEST_SIZE 32
12 
13 typedef struct
14 {
15   UInt32 state[8];
16   UInt64 count;
17   Byte buffer[64];
18 } CSha256;
19 
20 void Sha256_Init(CSha256 *p);
21 void Sha256_Update(CSha256 *p, const Byte *data, size_t size);
22 void Sha256_Final(CSha256 *p, Byte *digest);
23 
24 EXTERN_C_END
25 
26 #endif
27