Comparison

spec/util_hashes_spec.lua @ 10758:d0e6d5bc7ea2

Merge with upstream trunk
author Matthew Wild <mwild1@gmail.com>
date Thu, 23 Apr 2020 13:53:18 +0100
parent 10748:93293891709b
child 12355:a0ff5c438e9d
comparison
equal deleted inserted replaced
10757:9dec7cddb40b 10758:d0e6d5bc7ea2
2 local hashes = require "util.hashes"; 2 local hashes = require "util.hashes";
3 local hex = require "util.hex"; 3 local hex = require "util.hex";
4 4
5 -- Also see spec for util.hmac where HMAC test cases reside 5 -- Also see spec for util.hmac where HMAC test cases reside
6 6
7 describe("PBKDF2-SHA1", function () 7 describe("PBKDF2-HMAC-SHA1", function ()
8 it("test vector 1", function () 8 it("test vector 1", function ()
9 local P = "password" 9 local P = "password"
10 local S = "salt" 10 local S = "salt"
11 local c = 1 11 local c = 1
12 local DK = "0c60c80f961f0e71f3a9b524af6012062fe037a6"; 12 local DK = "0c60c80f961f0e71f3a9b524af6012062fe037a6";
13 assert.equal(DK, hex.to(hashes.scram_Hi_sha1(P, S, c))); 13 assert.equal(DK, hex.to(hashes.pbkdf2_hmac_sha1(P, S, c)));
14 end); 14 end);
15 it("test vector 2", function () 15 it("test vector 2", function ()
16 local P = "password" 16 local P = "password"
17 local S = "salt" 17 local S = "salt"
18 local c = 2 18 local c = 2
19 local DK = "ea6c014dc72d6f8ccd1ed92ace1d41f0d8de8957"; 19 local DK = "ea6c014dc72d6f8ccd1ed92ace1d41f0d8de8957";
20 assert.equal(DK, hex.to(hashes.scram_Hi_sha1(P, S, c))); 20 assert.equal(DK, hex.to(hashes.pbkdf2_hmac_sha1(P, S, c)));
21 end); 21 end);
22 it("test vector 3", function () 22 it("test vector 3", function ()
23 local P = "password" 23 local P = "password"
24 local S = "salt" 24 local S = "salt"
25 local c = 4096 25 local c = 4096
26 local DK = "4b007901b765489abead49d926f721d065a429c1"; 26 local DK = "4b007901b765489abead49d926f721d065a429c1";
27 assert.equal(DK, hex.to(hashes.scram_Hi_sha1(P, S, c))); 27 assert.equal(DK, hex.to(hashes.pbkdf2_hmac_sha1(P, S, c)));
28 end); 28 end);
29 it("test vector 4 #SLOW", function () 29 it("test vector 4 #SLOW", function ()
30 local P = "password" 30 local P = "password"
31 local S = "salt" 31 local S = "salt"
32 local c = 16777216 32 local c = 16777216
33 local DK = "eefe3d61cd4da4e4e9945b3d6ba2158c2634e984"; 33 local DK = "eefe3d61cd4da4e4e9945b3d6ba2158c2634e984";
34 assert.equal(DK, hex.to(hashes.scram_Hi_sha1(P, S, c))); 34 assert.equal(DK, hex.to(hashes.pbkdf2_hmac_sha1(P, S, c)));
35 end); 35 end);
36 end); 36 end);
37 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