2022-09-14 16:11:38 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2022-01-05 16:10:18 +00:00
|
|
|
#define SHA256_DIGEST_SIZE 32
|
|
|
|
#define SHA256_BLOCK_SIZE 64
|
2021-12-22 20:04:08 +00:00
|
|
|
|
2022-01-05 16:10:18 +00:00
|
|
|
typedef struct {
|
|
|
|
uint32_t total[2];
|
|
|
|
uint32_t state[8];
|
|
|
|
uint32_t wbuf[16];
|
2021-12-22 20:04:08 +00:00
|
|
|
} sha256_context;
|
|
|
|
|
2022-01-05 16:10:18 +00:00
|
|
|
void sha256(const unsigned char* input, unsigned int ilen, unsigned char output[32]);
|
|
|
|
void sha256_start(sha256_context* ctx);
|
|
|
|
void sha256_finish(sha256_context* ctx, unsigned char output[32]);
|
|
|
|
void sha256_update(sha256_context* ctx, const unsigned char* input, unsigned int ilen);
|
|
|
|
void sha256_process(sha256_context* ctx);
|
2022-09-14 16:11:38 +00:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|