summaryrefslogtreecommitdiff
path: root/utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'utils.c')
-rwxr-xr-xutils.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/utils.c b/utils.c
index 685a66aa1..0d7a8781c 100755
--- a/utils.c
+++ b/utils.c
@@ -25,6 +25,7 @@
#include <asterisk/lock.h>
#include <asterisk/utils.h>
#include <asterisk/logger.h>
+#include <asterisk/md5.h>
static char base64[64];
static char b2a[256];
@@ -245,6 +246,21 @@ int test_for_thread_safety(void)
return(test_errors); /* return 0 on success. */
}
+/*--- ast_md5_hash: Produce 16 char MD5 hash of value. ---*/
+void ast_md5_hash(char *output, char *input)
+{
+ struct MD5Context md5;
+ unsigned char digest[16];
+ char *ptr;
+ int x;
+ MD5Init(&md5);
+ MD5Update(&md5, input, strlen(input));
+ MD5Final(digest, &md5);
+ ptr = output;
+ for (x=0;x<16;x++)
+ ptr += sprintf(ptr, "%2.2x", digest[x]);
+}
+
int ast_base64decode(unsigned char *dst, char *src, int max)
{
int cnt = 0;