libs/hashes.lua

Wed, 27 Jun 2018 19:17:51 +0100

author
Matthew Wild <mwild1@gmail.com>
date
Wed, 27 Jun 2018 19:17:51 +0100
changeset 421
f35cfdff31b6
parent 414
2a5eff919f4a
child 422
ff59e4a1a600
permissions
-rw-r--r--

libs.hashes: Add support for sha1 lib from luarocks

389
bf3a4fcdcb76 libs.hashes: Wrap LuaCrypto with fallback to util.sha1
Kim Alvefur <zash@zash.se>
parents: 129
diff changeset
1
414
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
2 local function not_available()
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
3 error("not available", 2);
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
4 end
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
5
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
6 local _M = {
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
7 md5 = not_available;
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
8 hmac_md5 = not_available;
389
bf3a4fcdcb76 libs.hashes: Wrap LuaCrypto with fallback to util.sha1
Kim Alvefur <zash@zash.se>
parents: 129
diff changeset
9
414
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
10 sha1 = not_available;
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
11 hmac_sha1 = not_available;
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
12 scram_Hi_sha1 = not_available;
389
bf3a4fcdcb76 libs.hashes: Wrap LuaCrypto with fallback to util.sha1
Kim Alvefur <zash@zash.se>
parents: 129
diff changeset
13
414
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
14 sha256 = not_available;
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
15 hmac_sha256 = not_available;
389
bf3a4fcdcb76 libs.hashes: Wrap LuaCrypto with fallback to util.sha1
Kim Alvefur <zash@zash.se>
parents: 129
diff changeset
16
414
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
17 sha512 = not_available;
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
18 hmac_sha512 = not_available;
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
19 };
129
c0be31a5ff55 libs.hashes: Pure-Lua util.hashes replacement (depends on util.sha1)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
20
414
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
21 local function with(mod, f)
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
22 local ok, pkg = pcall(require, mod);
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
23 if ok then f(pkg); end
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
24 end
389
bf3a4fcdcb76 libs.hashes: Wrap LuaCrypto with fallback to util.sha1
Kim Alvefur <zash@zash.se>
parents: 129
diff changeset
25
414
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
26 with("bgcrypto.md5", function (md5)
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
27 _M.md5 = md5.digest;
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
28 _M.hmac_md5 = md5.hmac.digest;
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
29 end);
389
bf3a4fcdcb76 libs.hashes: Wrap LuaCrypto with fallback to util.sha1
Kim Alvefur <zash@zash.se>
parents: 129
diff changeset
30
414
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
31 with("bgcrypto.sha1", function (sha1)
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
32 _M.sha1 = sha1.digest;
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
33 _M.hmac_sha1 = sha1.hmac.digest;
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
34 _M.scram_Hi_sha1 = function (p, s, i) return sha1.pbkdf2(p, s, i, 20); end;
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
35 end);
389
bf3a4fcdcb76 libs.hashes: Wrap LuaCrypto with fallback to util.sha1
Kim Alvefur <zash@zash.se>
parents: 129
diff changeset
36
414
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
37 with("bgcrypto.sha256", function (sha256)
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
38 _M.sha256 = sha256.digest;
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
39 _M.hmac_sha256 = sha256.hmac.digest;
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
40 end);
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
41
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
42 with("bgcrypto.sha512", function (sha512)
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
43 _M.sha512 = sha512.digest;
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
44 _M.hmac_sha512 = sha512.hmac.digest;
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
45 end);
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
46
421
f35cfdff31b6 libs.hashes: Add support for sha1 lib from luarocks
Matthew Wild <mwild1@gmail.com>
parents: 414
diff changeset
47 with("sha1", function (sha1)
f35cfdff31b6 libs.hashes: Add support for sha1 lib from luarocks
Matthew Wild <mwild1@gmail.com>
parents: 414
diff changeset
48 _M.sha1 = function (data, hex)
f35cfdff31b6 libs.hashes: Add support for sha1 lib from luarocks
Matthew Wild <mwild1@gmail.com>
parents: 414
diff changeset
49 if hex then
f35cfdff31b6 libs.hashes: Add support for sha1 lib from luarocks
Matthew Wild <mwild1@gmail.com>
parents: 414
diff changeset
50 return sha1.sha1(data);
f35cfdff31b6 libs.hashes: Add support for sha1 lib from luarocks
Matthew Wild <mwild1@gmail.com>
parents: 414
diff changeset
51 else
f35cfdff31b6 libs.hashes: Add support for sha1 lib from luarocks
Matthew Wild <mwild1@gmail.com>
parents: 414
diff changeset
52 return (sha1.binary(data));
f35cfdff31b6 libs.hashes: Add support for sha1 lib from luarocks
Matthew Wild <mwild1@gmail.com>
parents: 414
diff changeset
53 end
f35cfdff31b6 libs.hashes: Add support for sha1 lib from luarocks
Matthew Wild <mwild1@gmail.com>
parents: 414
diff changeset
54 end;
f35cfdff31b6 libs.hashes: Add support for sha1 lib from luarocks
Matthew Wild <mwild1@gmail.com>
parents: 414
diff changeset
55 end);
f35cfdff31b6 libs.hashes: Add support for sha1 lib from luarocks
Matthew Wild <mwild1@gmail.com>
parents: 414
diff changeset
56
414
2a5eff919f4a libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents: 398
diff changeset
57 return _M;

mercurial