aboutsummaryrefslogtreecommitdiffstats
path: root/src/digest/sha1.c
diff options
context:
space:
mode:
authorLibravatar bigfoot547 <[email protected]>2024-01-08 12:17:20 -0600
committerLibravatar bigfoot547 <[email protected]>2024-01-08 12:17:20 -0600
commitd38c13b2fe1293b499312bb4cfd66a56108c4b5e (patch)
tree998438c400a6b05f13d145270e95a9236ed7fb87 /src/digest/sha1.c
parentadd to-do list (diff)
WIP: JRE stuff
Diffstat (limited to 'src/digest/sha1.c')
-rw-r--r--src/digest/sha1.c26
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)
{