summaryrefslogtreecommitdiffstats
path: root/other-licenses/7zstub/src/C/Sha256.h
blob: 7f17ccf9c9f98c707e9625fe7fa93afb45d4a76a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/* Sha256.h -- SHA-256 Hash
2013-01-18 : Igor Pavlov : Public domain */

#ifndef __CRYPTO_SHA256_H
#define __CRYPTO_SHA256_H

#include "7zTypes.h"

EXTERN_C_BEGIN

#define SHA256_DIGEST_SIZE 32

typedef struct
{
  UInt32 state[8];
  UInt64 count;
  Byte buffer[64];
} CSha256;

void Sha256_Init(CSha256 *p);
void Sha256_Update(CSha256 *p, const Byte *data, size_t size);
void Sha256_Final(CSha256 *p, Byte *digest);

EXTERN_C_END

#endif