Software /
code /
verse
Annotate
libs/hashes.lua @ 414:2a5eff919f4a
libs.hashes: Switch to moteus bgcrypto suite
Because LuaCrypto seems to be unmaintained and bgcrypto has PBKDF2
https://luarocks.org/modules/moteus/bgcrypto-lmd5
https://luarocks.org/modules/moteus/bgcrypto-sha
https://luarocks.org/modules/moteus/bgcrypto-hmac
https://luarocks.org/modules/moteus/bgcrypto-pbkdf2
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 20 May 2018 00:51:58 +0200 |
parent | 398:b4ce2e524ed8 |
child | 421:f35cfdff31b6 |
rev | line source |
---|---|
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 |
2a5eff919f4a
libs.hashes: Switch to moteus bgcrypto suite
Kim Alvefur <zash@zash.se>
parents:
398
diff
changeset
|
47 return _M; |