Mercurial > prosody-hg
comparison spec/util_hashes_spec.lua @ 11200:bf8f2da84007
Merge 0.11->trunk
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Thu, 05 Nov 2020 22:31:25 +0100 |
| parents | 93293891709b |
| children | a0ff5c438e9d |
comparison
equal
deleted
inserted
replaced
| 11199:6c7c50a4de32 | 11200:bf8f2da84007 |
|---|---|
| 1 -- Test vectors from RFC 6070 | |
| 2 local hashes = require "util.hashes"; | |
| 3 local hex = require "util.hex"; | |
| 4 | |
| 5 -- Also see spec for util.hmac where HMAC test cases reside | |
| 6 | |
| 7 describe("PBKDF2-HMAC-SHA1", function () | |
| 8 it("test vector 1", function () | |
| 9 local P = "password" | |
| 10 local S = "salt" | |
| 11 local c = 1 | |
| 12 local DK = "0c60c80f961f0e71f3a9b524af6012062fe037a6"; | |
| 13 assert.equal(DK, hex.to(hashes.pbkdf2_hmac_sha1(P, S, c))); | |
| 14 end); | |
| 15 it("test vector 2", function () | |
| 16 local P = "password" | |
| 17 local S = "salt" | |
| 18 local c = 2 | |
| 19 local DK = "ea6c014dc72d6f8ccd1ed92ace1d41f0d8de8957"; | |
| 20 assert.equal(DK, hex.to(hashes.pbkdf2_hmac_sha1(P, S, c))); | |
| 21 end); | |
| 22 it("test vector 3", function () | |
| 23 local P = "password" | |
| 24 local S = "salt" | |
| 25 local c = 4096 | |
| 26 local DK = "4b007901b765489abead49d926f721d065a429c1"; | |
| 27 assert.equal(DK, hex.to(hashes.pbkdf2_hmac_sha1(P, S, c))); | |
| 28 end); | |
| 29 it("test vector 4 #SLOW", function () | |
| 30 local P = "password" | |
| 31 local S = "salt" | |
| 32 local c = 16777216 | |
| 33 local DK = "eefe3d61cd4da4e4e9945b3d6ba2158c2634e984"; | |
| 34 assert.equal(DK, hex.to(hashes.pbkdf2_hmac_sha1(P, S, c))); | |
| 35 end); | |
| 36 end); | |
| 37 | |
| 38 describe("PBKDF2-HMAC-SHA256", function () | |
| 39 it("test vector 1", function () | |
| 40 local P = "password"; | |
| 41 local S = "salt"; | |
| 42 local c = 1 | |
| 43 local DK = "120fb6cffcf8b32c43e7225256c4f837a86548c92ccc35480805987cb70be17b"; | |
| 44 assert.equal(DK, hex.to(hashes.pbkdf2_hmac_sha256(P, S, c))); | |
| 45 end); | |
| 46 it("test vector 2", function () | |
| 47 local P = "password"; | |
| 48 local S = "salt"; | |
| 49 local c = 2 | |
| 50 local DK = "ae4d0c95af6b46d32d0adff928f06dd02a303f8ef3c251dfd6e2d85a95474c43"; | |
| 51 assert.equal(DK, hex.to(hashes.pbkdf2_hmac_sha256(P, S, c))); | |
| 52 end); | |
| 53 end); | |
| 54 | |
| 55 |
