11#define SHA256_DIGEST 32
12#define SHA256_BLOCK 64
#define SHA256_BLOCK
internal block length in bytes
Definition sha256.h:12
void sha256_init(sha256_ctx *s)
Reset s to the initial SHA-256 state.
#define SHA256_DIGEST
digest length in bytes
Definition sha256.h:11
void sha256_update(sha256_ctx *s, const u8 *data, usz len)
Absorb data[0..len) into the running hash.
void sha256_final(sha256_ctx *s, u8 out[SHA256_DIGEST])
Finish the hash and write the digest.
void wired_sha256(const u8 *data, usz len, u8 out[SHA256_DIGEST])
One-shot convenience: digest of data[0..len).
Streaming SHA-256 state.
Definition sha256.h:18
u64 total
total bytes absorbed
Definition sha256.h:20
u32 h[8]
running hash state
Definition sha256.h:19
u8 buf[SHA256_BLOCK]
partial-block staging buffer
Definition sha256.h:21
usz buf_len
bytes pending in buf
Definition sha256.h:22
unsigned int u32
unsigned 32-bit integer
Definition types.h:15
u64 usz
unsigned size (size_t equivalent)
Definition types.h:20
unsigned char u8
unsigned 8-bit integer / byte
Definition types.h:18
unsigned long u64
unsigned 64-bit integer
Definition types.h:13