diff options
| author | 2024-01-08 12:17:20 -0600 | |
|---|---|---|
| committer | 2024-01-08 12:17:20 -0600 | |
| commit | d38c13b2fe1293b499312bb4cfd66a56108c4b5e (patch) | |
| tree | 998438c400a6b05f13d145270e95a9236ed7fb87 /src/digest/sha1.c | |
| parent | add to-do list (diff) | |
WIP: JRE stuff
Diffstat (limited to 'src/digest/sha1.c')
| -rw-r--r-- | src/digest/sha1.c | 26 |
1 files changed, 21 insertions, 5 deletions
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) { |
