From d38c13b2fe1293b499312bb4cfd66a56108c4b5e Mon Sep 17 00:00:00 2001 From: bigfoot547 Date: Mon, 8 Jan 2024 12:17:20 -0600 Subject: WIP: JRE stuff --- src/digest/sha1.c | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) (limited to 'src/digest/sha1.c') diff --git a/src/digest/sha1.c b/src/digest/sha1.c index b8f697e..3998a3b 100644 --- a/src/digest/sha1.c +++ b/src/digest/sha1.c @@ -24,7 +24,7 @@ void l2_sha1_init(l2_sha1_state_t *st) st->state[3] = L2_SHA1_H3; st->state[4] = L2_SHA1_H4; - memset(st->chunk, 0, L2_SHA1_BLOCKLEN); + memset(st->chunk, 0, L2_SHA1__BLOCKLEN); st->nchunk = 0; st->totallen = 0; } @@ -90,7 +90,7 @@ void l2_sha1_update(l2_sha1_state_t *st, const void *data, size_t sz) size_t rem; st->totallen += sz; - while (sz >= (rem = (L2_SHA1_BLOCKLEN - st->nchunk))) { + while (sz >= (rem = (L2_SHA1__BLOCKLEN - st->nchunk))) { memcpy(st->chunk + st->nchunk, dbytes, rem); l2_sha1__update_int(st); @@ -109,14 +109,14 @@ void l2_sha1_finalize(l2_sha1_state_t *st, l2_sha1_digest_t *digest) { st->chunk[st->nchunk] = UINT8_C(0x80); ++st->nchunk; - if (st->nchunk > (L2_SHA1_BLOCKLEN - 8)) { + if (st->nchunk > (L2_SHA1__BLOCKLEN - 8)) { /* must pad the rest of the way */ - memset(st->chunk + st->nchunk, 0, L2_SHA1_BLOCKLEN - st->nchunk); + memset(st->chunk + st->nchunk, 0, L2_SHA1__BLOCKLEN - st->nchunk); l2_sha1__update_int(st); st->nchunk = 0; } - size_t rem = (L2_SHA1_BLOCKLEN - st->nchunk) - 8; + size_t rem = (L2_SHA1__BLOCKLEN - st->nchunk) - 8; uint64_t len = l2_htobe64(st->totallen * 8); memset(st->chunk + st->nchunk, 0, rem); st->nchunk += rem; @@ -209,6 +209,22 @@ int l2_sha1__hex_to_uint32(const char *in, uint32_t *out) return 0; } +void l2_sha1_digest_to_buffer(const l2_sha1_digest_t *dg, void *odata) +{ + uint32_t *data = odata; + for (int i = 0; i < L2_SHA1__DIGESTLEN; ++i) { + data[i] = l2_htobe32(dg->state[i]); + } +} + +void l2_sha1_digest_from_buffer(l2_sha1_digest_t *dg, const void *data) +{ + const uint32_t *pstate = data; + for (int i = 0; i < L2_SHA1__DIGESTLEN; ++i) { + dg->state[i] = l2_betoh32(pstate[i]); + } +} + #if L2_SHA1_STANDALONE_TEST int main(int argc, char **argv) { -- cgit v1.2.3-70-g09d2