aboutsummaryrefslogtreecommitdiffstats
path: root/cipher/sha1.c
diff options
context:
space:
mode:
Diffstat (limited to 'cipher/sha1.c')
-rw-r--r--cipher/sha1.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/cipher/sha1.c b/cipher/sha1.c
index 309b38691..898a9a1fb 100644
--- a/cipher/sha1.c
+++ b/cipher/sha1.c
@@ -52,7 +52,7 @@ static void
burn_stack (int bytes)
{
char buf[128];
-
+
wipememory(buf,sizeof buf);
bytes -= sizeof buf;
if (bytes > 0)
@@ -323,6 +323,23 @@ sha1_read( SHA1_CONTEXT *hd )
return hd->buf;
}
+
+/****************
+ * Shortcut functions which puts the hash value of the supplied buffer
+ * into outbuf which must have a size of 20 bytes.
+ */
+void
+sha1_hash_buffer (char *outbuf, const char *buffer, size_t length)
+{
+ SHA1_CONTEXT hd;
+
+ sha1_init (&hd);
+ sha1_write (&hd, (byte*)buffer, length);
+ sha1_final (&hd);
+ memcpy (outbuf, hd.buf, 20);
+}
+
+
/****************
* Return some information about the algorithm. We need algo here to
* distinguish different flavors of the algorithm.