summaryrefslogtreecommitdiff
path: root/louloulibs/utils/sha1.hpp
diff options
context:
space:
mode:
authorlouiz’ <louiz@louiz.org>2017-03-06 00:51:43 +0100
committerlouiz’ <louiz@louiz.org>2017-03-06 00:57:33 +0100
commit99a4ddedaf903d27b781341108433ae2d9533ad1 (patch)
tree2662dddda921d84f6fd348e46f154261ad46c17a /louloulibs/utils/sha1.hpp
parentd81c3ad5ac2c12130d90044b7597bf962a7cfe9e (diff)
downloadbiboumi-99a4ddedaf903d27b781341108433ae2d9533ad1.tar.gz
biboumi-99a4ddedaf903d27b781341108433ae2d9533ad1.tar.bz2
biboumi-99a4ddedaf903d27b781341108433ae2d9533ad1.tar.xz
biboumi-99a4ddedaf903d27b781341108433ae2d9533ad1.zip
Remove the embedded sha1 code, and use one of botan or gcrypt
This adds a hard dependency on one of Botan or gcrypt. Botan is already a recommended dependency, and gcrypt is probably packaged almost everywhere, so this should not be a big deal. ref #3241
Diffstat (limited to 'louloulibs/utils/sha1.hpp')
-rw-r--r--louloulibs/utils/sha1.hpp34
1 files changed, 3 insertions, 31 deletions
diff --git a/louloulibs/utils/sha1.hpp b/louloulibs/utils/sha1.hpp
index d436782..6c551ac 100644
--- a/louloulibs/utils/sha1.hpp
+++ b/louloulibs/utils/sha1.hpp
@@ -1,33 +1,5 @@
-/* This code is public-domain - it is based on libcrypt
- * placed in the public domain by Wei Dai and other contributors.
- */
+#pragma once
-#include <stdint.h>
-#include <string.h>
+#include <string>
-#define HASH_LENGTH 20
-#define BLOCK_LENGTH 64
-
-union _buffer {
- uint8_t b[BLOCK_LENGTH];
- uint32_t w[BLOCK_LENGTH/4];
-};
-
-union _state {
- uint8_t b[HASH_LENGTH];
- uint32_t w[HASH_LENGTH/4];
-};
-
-typedef struct sha1nfo {
- union _buffer buffer;
- uint8_t bufferOffset;
- union _state state;
- uint32_t byteCount;
- uint8_t keyBuffer[BLOCK_LENGTH];
- uint8_t innerHash[HASH_LENGTH];
-} sha1nfo;
-
-void sha1_init(sha1nfo *s);
-void sha1_writebyte(sha1nfo *s, uint8_t data);
-void sha1_write(sha1nfo *s, const char *data, size_t len);
-uint8_t* sha1_result(sha1nfo *s);
+std::string sha1(const std::string& input);