util/hashes.lua

changeset 450
e04c4052742c
parent 444
77485b9b840c
parent 449
c0a4a1e63d70
child 451
e9f269e5204e
equal deleted inserted replaced
444:77485b9b840c 450:e04c4052742c
1
2 local softreq = function (...) local ok, lib = pcall(require, ...); if ok then return lib; else return nil; end end
3 local error = error;
4
5 module "hashes"
6
7 local md5 = softreq("md5");
8 if md5 then
9 if md5.digest then
10 local md5_digest = md5.digest;
11 local sha1_digest = sha1.digest;
12 function _M.md5(input)
13 return md5_digest(input);
14 end
15 function _M.sha1(input)
16 return sha1_digest(input);
17 end
18 elseif md5.sumhexa then
19 local md5_sumhexa = md5.sumhexa;
20 function _M.md5(input)
21 return md5_sumhexa(input);
22 end
23 else
24 error("md5 library found, but unrecognised... no hash functions will be available", 0);
25 end
26 else
27 error("No md5 library found. Install md5 using luarocks, for example", 0);
28 end
29
30 return _M;

mercurial