From 8b3f7c38278952dc97feba7d51ef39775608689b Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 25 Sep 2012 00:27:14 +0100 Subject: Use openssl for all MD5-ing. --- src/lib/util.cc | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) (limited to 'src/lib/util.cc') diff --git a/src/lib/util.cc b/src/lib/util.cc index c779268e2..935566440 100644 --- a/src/lib/util.cc +++ b/src/lib/util.cc @@ -40,7 +40,6 @@ #include #include #include -#include extern "C" { #include #include @@ -345,23 +344,17 @@ split_at_spaces_considering_quotes (string s) } string -md5_hash (void const * data, int size) +md5_digest (void const * data, int size) { - MHASH ht = mhash_init (MHASH_MD5); - if (ht == MHASH_FAILED) { - throw EncodeError ("could not create hash thread"); - } - - mhash (ht, data, size); + MD5_CTX md5_context; + MD5_Init (&md5_context); + MD5_Update (&md5_context, data, size); + unsigned char digest[MD5_DIGEST_LENGTH]; + MD5_Final (digest, &md5_context); - uint8_t hash[16]; - mhash_deinit (ht, hash); - - int const N = mhash_get_block_size (MHASH_MD5); stringstream s; - s << hex << setfill('0') << setw(2); - for (int i = 0; i < N; ++i) { - s << ((int) hash[i]); + for (int i = 0; i < MD5_DIGEST_LENGTH; ++i) { + s << hex << setfill('0') << setw(2) << ((int) digest[i]); } return s.str (); -- cgit v1.2.3