aboutsummaryrefslogtreecommitdiff
path: root/src/supplemental/sha1/sha1.h
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2017-12-05 14:22:45 -0800
committerGarrett D'Amore <garrett@damore.org>2017-12-26 12:48:45 -0800
commit21dec54769b2d8d80e57765b345af5d092639376 (patch)
treef1e029ff061335d01eecc45f4d4c2b08699eee07 /src/supplemental/sha1/sha1.h
parent0bcb57e8581b35c8d1d49284abdb0720607c818b (diff)
downloadnng-21dec54769b2d8d80e57765b345af5d092639376.tar.gz
nng-21dec54769b2d8d80e57765b345af5d092639376.tar.bz2
nng-21dec54769b2d8d80e57765b345af5d092639376.zip
Added SHA1 implementation and test suite.
Diffstat (limited to 'src/supplemental/sha1/sha1.h')
-rw-r--r--src/supplemental/sha1/sha1.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/supplemental/sha1/sha1.h b/src/supplemental/sha1/sha1.h
new file mode 100644
index 00000000..91554dd7
--- /dev/null
+++ b/src/supplemental/sha1/sha1.h
@@ -0,0 +1,26 @@
+//
+// Copyright 2017 Staysail Systems, Inc. <info@staysail.tech>
+// Copyright 2017 Capitar IT Group BV <info@capitar.com>
+//
+// This software is supplied under the terms of the MIT License, a
+// copy of which should be located in the distribution where this
+// file was obtained (LICENSE.txt). A copy of the license may also be
+// found online at https://opensource.org/licenses/MIT.
+//
+
+#ifndef NNG_SUPPLEMENTAL_SHA1_SHA1_H
+#define NNG_SUPPLEMENTAL_SHA1_SHA1_H
+
+typedef struct {
+ uint32_t digest[5]; // resulting digest
+ uint64_t len; // length in bits
+ uint8_t blk[64]; // message block
+ int idx; // index of next byte in block
+} nni_sha1_ctx;
+
+extern void nni_sha1_init(nni_sha1_ctx *);
+extern void nni_sha1_update(nni_sha1_ctx *, const uint8_t *, size_t);
+extern void nni_sha1_final(nni_sha1_ctx *, uint8_t[20]);
+extern void nn_sha1(const uint8_t *, size_t, uint8_t[20]);
+
+#endif // NNG_SUPPLEMENTAL_SHA1_SHA1_H