Partial s2s commit
[prosody.git] / util / hashes.lua
1
2 local softreq = function (...) return select(2, pcall(require, ...)); end
3
4 module "hashes"
5
6 local md5 = softreq("md5");
7 if md5 then
8         if md5.digest then
9                 local md5_digest = md5.digest;
10                 local sha1_digest = sha1.digest;
11                 function _M.md5(input)
12                         return md5_digest(input);
13                 end
14                 function _M.sha1(input)
15                         return sha1_digest(input);
16                 end
17         elseif md5.sumhexa then
18                 local md5_sumhexa = md5.sumhexa;
19                 function _M.md5(input)
20                         return md5_sumhexa(input);
21                 end
22         else
23                 error("md5 library found, but unrecognised... no hash functions will be available", 0);
24         end
25 end
26
27 return _M;