Artifact
ecc15b287a8eb69d8381be21e3fe2632a3f072e8d111e34cd2f18ed7d76dc825:
0000: 23 20 50 42 4b 44 46 32 0a 23 20 46 72 6f 6d 20 # PBKDF2.# From
0010: 52 46 43 20 36 30 37 30 20 2d 20 50 42 4b 44 46 RFC 6070 - PBKDF
0020: 32 20 77 69 74 68 20 48 4d 41 43 20 53 48 41 2d 2 with HMAC SHA-
0030: 31 0a 23 20 53 48 41 32 20 66 72 6f 6d 20 68 74 1.# SHA2 from ht
0040: 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d tps://github.com
0050: 2f 62 72 79 63 78 2f 54 65 73 74 2d 56 65 63 74 /brycx/Test-Vect
0060: 6f 72 2d 47 65 6e 65 72 61 74 69 6f 6e 2f 62 6c or-Generation/bl
0070: 6f 62 2f 6d 61 73 74 65 72 2f 50 42 4b 44 46 32 ob/master/PBKDF2
0080: 2f 70 62 6b 64 66 32 2d 68 6d 61 63 2d 73 68 61 /pbkdf2-hmac-sha
0090: 32 2d 74 65 73 74 2d 76 65 63 74 6f 72 73 2e 6d 2-test-vectors.m
00a0: 64 0a 23 20 61 6e 64 20 52 46 43 20 37 39 31 34 d.# and RFC 7914
00b0: 20 73 63 72 79 70 74 0a 0a 23 20 54 65 73 74 20 scrypt..# Test
00c0: 43 61 73 65 20 31 0a 48 61 73 68 20 3d 20 53 48 Case 1.Hash = SH
00d0: 41 32 35 36 0a 50 6c 65 6e 20 3d 20 38 0a 53 6c A256.Plen = 8.Sl
00e0: 65 6e 20 3d 20 34 0a 50 20 3d 20 22 70 61 73 73 en = 4.P = "pass
00f0: 77 6f 72 64 22 0a 53 20 3d 20 22 73 61 6c 74 22 word".S = "salt"
0100: 0a 63 20 3d 20 31 0a 64 6b 4c 65 6e 20 3d 20 32 .c = 1.dkLen = 2
0110: 30 0a 44 4b 20 3d 20 31 32 30 66 62 36 63 66 66 0.DK = 120fb6cff
0120: 63 66 38 62 33 32 63 34 33 65 37 32 32 35 32 35 cf8b32c43e722525
0130: 36 63 34 66 38 33 37 61 38 36 35 34 38 63 39 0a 6c4f837a86548c9.
0140: 0a 23 20 54 65 73 74 20 43 61 73 65 20 32 0a 48 .# Test Case 2.H
0150: 61 73 68 20 3d 20 53 48 41 32 35 36 0a 50 6c 65 ash = SHA256.Ple
0160: 6e 20 3d 20 38 0a 53 6c 65 6e 20 3d 20 34 0a 50 n = 8.Slen = 4.P
0170: 20 3d 20 22 70 61 73 73 77 6f 72 64 22 0a 53 20 = "password".S
0180: 3d 20 22 73 61 6c 74 22 0a 63 20 3d 20 32 0a 64 = "salt".c = 2.d
0190: 6b 4c 65 6e 20 3d 20 32 30 0a 44 4b 20 3d 20 61 kLen = 20.DK = a
01a0: 65 34 64 30 63 39 35 61 66 36 62 34 36 64 33 32 e4d0c95af6b46d32
01b0: 64 30 61 64 66 66 39 32 38 66 30 36 64 64 30 32 d0adff928f06dd02
01c0: 61 33 30 33 66 38 65 0a 0a 23 20 54 65 73 74 20 a303f8e..# Test
01d0: 43 61 73 65 20 33 0a 48 61 73 68 20 3d 20 53 48 Case 3.Hash = SH
01e0: 41 32 35 36 0a 50 6c 65 6e 20 3d 20 38 0a 53 6c A256.Plen = 8.Sl
01f0: 65 6e 20 3d 20 34 0a 50 20 3d 20 22 70 61 73 73 en = 4.P = "pass
0200: 77 6f 72 64 22 0a 53 20 3d 20 22 73 61 6c 74 22 word".S = "salt"
0210: 0a 63 20 3d 20 34 30 39 36 0a 64 6b 4c 65 6e 20 .c = 4096.dkLen
0220: 3d 20 32 30 0a 44 4b 20 3d 20 63 35 65 34 37 38 = 20.DK = c5e478
0230: 64 35 39 32 38 38 63 38 34 31 61 61 35 33 30 64 d59288c841aa530d
0240: 62 36 38 34 35 63 34 63 38 64 39 36 32 38 39 33 b6845c4c8d962893
0250: 61 30 0a 0a 23 20 54 65 73 74 20 43 61 73 65 20 a0..# Test Case
0260: 34 0a 48 61 73 68 20 3d 20 53 48 41 32 35 36 0a 4.Hash = SHA256.
0270: 50 6c 65 6e 20 3d 20 38 0a 53 6c 65 6e 20 3d 20 Plen = 8.Slen =
0280: 34 0a 50 20 3d 20 22 70 61 73 73 77 6f 72 64 22 4.P = "password"
0290: 0a 53 20 3d 20 22 73 61 6c 74 22 0a 63 20 3d 20 .S = "salt".c =
02a0: 31 36 37 37 37 32 31 36 0a 64 6b 4c 65 6e 20 3d 16777216.dkLen =
02b0: 20 32 30 0a 44 4b 20 3d 20 63 66 38 31 63 36 36 20.DK = cf81c66
02c0: 66 65 38 63 66 63 30 34 64 31 66 33 31 65 63 62 fe8cfc04d1f31ecb
02d0: 36 35 64 61 62 34 30 38 39 66 37 66 31 37 39 65 65dab4089f7f179e
02e0: 38 0a 0a 23 20 54 65 73 74 20 43 61 73 65 20 35 8..# Test Case 5
02f0: 0a 48 61 73 68 20 3d 20 53 48 41 32 32 34 0a 50 .Hash = SHA224.P
0300: 6c 65 6e 20 3d 20 32 34 0a 53 6c 65 6e 20 3d 20 len = 24.Slen =
0310: 33 36 0a 50 20 3d 20 22 70 61 73 73 77 6f 72 64 36.P = "password
0320: 50 41 53 53 57 4f 52 44 70 61 73 73 77 6f 72 64 PASSWORDpassword
0330: 22 0a 53 20 3d 20 22 73 61 6c 74 53 41 4c 54 73 ".S = "saltSALTs
0340: 61 6c 74 53 41 4c 54 73 61 6c 74 53 41 4c 54 73 altSALTsaltSALTs
0350: 61 6c 74 53 41 4c 54 73 61 6c 74 22 0a 63 20 3d altSALTsalt".c =
0360: 20 34 30 39 36 0a 64 6b 4c 65 6e 20 3d 20 32 35 4096.dkLen = 25
0370: 0a 44 4b 20 3d 20 33 34 38 63 38 39 64 62 63 62 .DK = 348c89dbcb
0380: 64 33 32 62 32 66 33 32 64 38 31 34 62 38 31 31 d32b2f32d814b811
0390: 36 65 38 34 63 66 32 62 31 37 33 34 37 65 62 63 6e84cf2b17347ebc
03a0: 31 38 30 30 31 38 31 63 0a 0a 23 20 54 65 73 74 1800181c..# Test
03b0: 20 43 61 73 65 20 36 0a 48 61 73 68 20 3d 20 53 Case 6.Hash = S
03c0: 48 41 32 32 34 0a 50 6c 65 6e 20 3d 20 39 0a 53 HA224.Plen = 9.S
03d0: 6c 65 6e 20 3d 20 35 0a 50 20 3d 20 22 70 61 73 len = 5.P = "pas
03e0: 73 5c 30 77 6f 72 64 22 0a 53 20 3d 20 22 73 61 s\0word".S = "sa
03f0: 5c 30 6c 74 22 0a 63 20 3d 20 34 30 39 36 0a 64 \0lt".c = 4096.d
0400: 6b 4c 65 6e 20 3d 20 31 36 0a 44 4b 20 3d 20 38 kLen = 16.DK = 8
0410: 39 62 36 39 64 30 35 31 36 66 38 32 39 38 39 33 9b69d0516f829893
0420: 63 36 39 36 32 32 36 36 35 30 61 38 36 38 37 0a c696226650a8687.
0430: 0a 23 20 54 65 73 74 20 43 61 73 65 20 37 0a 48 .# Test Case 7.H
0440: 61 73 68 20 3d 20 53 48 41 32 32 34 0a 50 6c 65 ash = SHA224.Ple
0450: 6e 20 3d 20 36 0a 53 6c 65 6e 20 3d 20 34 0a 50 n = 6.Slen = 4.P
0460: 20 3d 20 22 70 61 73 73 77 64 22 0a 53 20 3d 20 = "passwd".S =
0470: 22 73 61 6c 74 22 0a 63 20 3d 20 31 0a 64 6b 4c "salt".c = 1.dkL
0480: 65 6e 20 3d 20 31 32 38 0a 44 4b 20 3d 20 35 35 en = 128.DK = 55
0490: 61 63 30 34 36 65 35 36 65 33 30 38 39 66 65 63 ac046e56e3089fec
04a0: 31 36 39 31 63 32 32 35 34 34 62 36 30 35 66 39 1691c22544b605f9
04b0: 34 31 38 35 32 31 36 64 64 65 30 34 36 35 65 36 4185216dde0465e6
04c0: 38 62 39 64 35 37 63 32 30 64 61 63 62 63 34 39 8b9d57c20dacbc49
04d0: 63 61 39 63 63 63 66 31 37 39 62 36 34 35 39 39 ca9cccf179b64599
04e0: 31 36 36 34 62 33 39 64 37 37 65 66 33 31 37 63 1664b39d77ef317c
04f0: 37 31 62 38 34 35 62 31 65 33 30 62 64 35 30 39 71b845b1e30bd509
0500: 31 31 32 30 34 31 64 33 61 31 39 37 38 33 63 32 112041d3a19783c2
0510: 39 34 65 38 35 30 31 35 30 33 39 30 65 31 31 36 94e850150390e116
0520: 30 63 33 34 64 36 32 65 39 36 36 35 64 36 35 39 0c34d62e9665d659
0530: 61 65 34 39 64 33 31 34 35 31 30 66 63 39 38 32 ae49d314510fc982
0540: 37 34 63 63 37 39 36 38 31 39 36 38 31 30 34 62 74cc79681968104b
0550: 38 66 38 39 32 33 37 65 36 39 62 32 64 35 34 39 8f89237e69b2d549
0560: 31 31 31 38 36 38 36 35 38 62 65 36 32 66 35 39 111868658be62f59
0570: 62 64 37 31 35 63 61 63 34 34 61 31 31 34 37 65 bd715cac44a1147e
0580: 64 35 33 31 37 63 39 62 61 65 36 62 32 61 0a 0a d5317c9bae6b2a..
0590: 23 20 54 65 73 74 20 43 61 73 65 20 38 0a 48 61 # Test Case 8.Ha
05a0: 73 68 20 3d 20 53 48 41 32 32 34 0a 50 6c 65 6e sh = SHA224.Plen
05b0: 20 3d 20 38 0a 53 6c 65 6e 20 3d 20 34 0a 50 20 = 8.Slen = 4.P
05c0: 3d 20 22 50 61 73 73 77 6f 72 64 22 0a 53 20 3d = "Password".S =
05d0: 20 22 4e 61 43 6c 22 0a 63 20 3d 20 38 30 30 30 "NaCl".c = 8000
05e0: 30 0a 64 6b 4c 65 6e 20 3d 20 31 32 38 0a 44 4b 0.dkLen = 128.DK
05f0: 20 3d 20 34 64 64 63 64 38 66 36 30 62 39 38 62 = 4ddcd8f60b98b
0600: 65 32 31 38 33 30 63 65 65 35 65 66 32 32 37 30 e21830cee5ef2270
0610: 31 66 39 36 34 31 61 34 34 31 38 64 30 34 63 30 1f9641a4418d04c0
0620: 34 31 34 61 65 66 66 30 38 38 37 36 62 33 34 61 414aeff08876b34a
0630: 62 35 36 61 31 64 34 32 35 61 31 32 32 35 38 33 b56a1d425a122583
0640: 33 35 34 39 61 64 62 38 34 31 62 35 31 63 39 62 3549adb841b51c9b
0650: 33 31 37 36 61 32 37 32 62 64 65 62 62 61 31 64 3176a272bdebba1d
0660: 30 37 38 34 37 38 66 36 32 62 33 39 37 66 33 33 078478f62b397f33
0670: 63 38 64 36 32 61 61 65 38 35 61 31 31 63 64 64 c8d62aae85a11cdd
0680: 65 38 32 39 64 38 39 63 62 36 66 66 64 31 61 62 e829d89cb6ffd1ab
0690: 30 65 36 33 61 39 38 31 66 38 37 34 37 64 32 66 0e63a981f8747d2f
06a0: 32 66 39 66 65 35 38 37 34 31 36 35 63 38 33 63 2f9fe5874165c83c
06b0: 31 36 38 64 32 65 65 64 31 64 32 64 35 63 61 34 168d2eed1d2d5ca4
06c0: 30 35 32 64 65 63 32 62 65 35 37 31 35 36 32 33 052dec2be5715623
06d0: 64 61 30 31 39 62 38 63 30 65 63 38 37 64 63 33 da019b8c0ec87dc3
06e0: 36 61 61 37 35 31 63 33 38 66 39 38 39 33 64 31 6aa751c38f9893d1
06f0: 35 63 33 0a 0a 23 20 54 65 73 74 20 43 61 73 65 5c3..# Test Case
0700: 20 39 0a 48 61 73 68 20 3d 20 53 48 41 32 32 34 9.Hash = SHA224
0710: 0a 50 6c 65 6e 20 3d 20 38 0a 53 6c 65 6e 20 3d .Plen = 8.Slen =
0720: 20 34 0a 50 20 3d 20 22 50 61 73 73 77 6f 72 64 4.P = "Password
0730: 22 0a 53 20 3d 20 22 73 61 5c 30 6c 74 22 0a 63 ".S = "sa\0lt".c
0740: 20 3d 20 34 30 39 36 0a 64 6b 4c 65 6e 20 3d 20 = 4096.dkLen =
0750: 32 35 36 0a 44 4b 20 3d 20 34 33 36 63 38 32 63 256.DK = 436c82c
0760: 36 61 66 39 30 31 30 62 62 30 66 64 62 32 37 34 6af9010bb0fdb274
0770: 37 39 31 39 33 34 61 63 37 64 65 65 32 31 37 34 791934ac7dee2174
0780: 35 64 64 31 31 66 62 35 37 62 62 39 30 31 31 32 5dd11fb57bb90112
0790: 61 62 31 38 37 63 34 39 35 61 64 38 32 64 66 37 ab187c495ad82df7
07a0: 37 36 61 64 37 63 65 66 62 36 30 36 66 33 34 66 76ad7cefb606f34f
07b0: 65 64 63 61 35 39 62 61 61 35 39 32 32 61 35 37 edca59baa5922a57
07c0: 66 33 65 39 31 62 63 30 65 31 31 39 36 30 64 61 f3e91bc0e11960da
07d0: 37 65 63 38 37 65 64 30 34 37 31 62 34 35 36 61 7ec87ed0471b456a
07e0: 30 38 30 38 62 36 30 64 66 66 37 35 37 62 37 64 0808b60dff757b7d
07f0: 33 31 33 64 34 30 36 38 62 66 38 64 33 33 37 61 313d4068bf8d337a
0800: 39 39 63 61 65 64 65 32 34 66 33 32 34 38 66 38 99caede24f3248f8
0810: 37 64 31 62 66 31 36 38 39 32 62 37 30 62 30 37 7d1bf16892b70b07
0820: 36 61 30 37 64 64 31 36 33 61 38 61 30 39 64 62 6a07dd163a8a09db
0830: 37 38 38 61 65 33 34 33 30 30 66 66 32 66 32 64 788ae34300ff2f2d
0840: 30 61 39 32 63 39 65 36 37 38 31 38 36 31 38 33 0a92c9e678186183
0850: 36 32 32 61 36 33 36 66 34 63 62 63 65 31 35 36 622a636f4cbce156
0860: 38 30 64 66 65 61 34 36 66 36 64 32 32 34 65 35 80dfea46f6d224e5
0870: 31 63 32 39 39 64 34 39 34 36 61 61 32 34 37 31 1c299d4946aa2471
0880: 31 33 33 61 36 34 39 32 38 38 65 65 66 33 65 34 133a649288eef3e4
0890: 32 32 37 62 36 30 39 63 66 32 30 33 64 62 61 36 227b609cf203dba6
08a0: 35 65 39 66 61 36 39 65 36 33 64 33 35 62 36 66 5e9fa69e63d35b6f
08b0: 66 34 33 35 66 66 35 31 36 36 34 63 62 64 36 37 f435ff51664cbd67
08c0: 37 33 64 37 32 65 62 63 33 34 31 64 32 33 39 66 73d72ebc341d239f
08d0: 30 30 38 34 62 30 30 34 33 38 38 64 36 61 66 61 0084b004388d6afa
08e0: 35 30 34 65 65 65 36 37 31 39 61 37 61 65 31 62 504eee6719a7ae1b
08f0: 62 39 64 61 66 36 62 37 36 32 38 64 38 35 31 66 b9daf6b7628d851f
0900: 61 62 33 33 35 66 31 64 31 33 39 34 38 65 38 65 ab335f1d13948e8e
0910: 65 36 66 37 61 62 30 33 33 61 33 32 64 66 34 34 e6f7ab033a32df44
0920: 37 66 38 64 30 39 35 30 38 30 39 61 37 30 30 36 7f8d0950809a7006
0930: 36 36 30 35 64 36 39 36 30 38 34 37 65 64 34 33 6605d6960847ed43
0940: 36 66 61 35 32 63 64 66 62 63 66 32 36 31 62 34 6fa52cdfbcf261b4
0950: 34 64 32 61 38 37 30 36 31 0a 0a 23 20 52 46 43 4d2a87061..# RFC
0960: 20 37 39 31 34 20 54 65 73 74 20 43 61 73 65 20 7914 Test Case
0970: 31 0a 48 61 73 68 20 3d 20 53 48 41 32 35 36 0a 1.Hash = SHA256.
0980: 50 6c 65 6e 20 3d 20 36 0a 53 6c 65 6e 20 3d 20 Plen = 6.Slen =
0990: 34 0a 50 20 3d 20 22 70 61 73 73 77 64 22 0a 53 4.P = "passwd".S
09a0: 20 3d 20 22 73 61 6c 74 22 0a 63 20 3d 20 31 0a = "salt".c = 1.
09b0: 64 6b 4c 65 6e 20 3d 20 36 34 0a 44 4b 20 3d 20 dkLen = 64.DK =
09c0: 35 35 61 63 30 34 36 65 35 36 65 33 30 38 39 66 55ac046e56e3089f
09d0: 65 63 31 36 39 31 63 32 32 35 34 34 62 36 30 35 ec1691c22544b605
09e0: 66 39 34 31 38 35 32 31 36 64 64 65 30 34 36 35 f94185216dde0465
09f0: 65 36 38 62 39 64 35 37 63 32 30 64 61 63 62 63 e68b9d57c20dacbc
0a00: 34 39 63 61 39 63 63 63 66 31 37 39 62 36 34 35 49ca9cccf179b645
0a10: 39 39 31 36 36 34 62 33 39 64 37 37 65 66 33 31 991664b39d77ef31
0a20: 37 63 37 31 62 38 34 35 62 31 65 33 30 62 64 35 7c71b845b1e30bd5
0a30: 30 39 31 31 32 30 34 31 64 33 61 31 39 37 38 33 09112041d3a19783
0a40: 0a 0a 23 20 52 46 43 20 37 39 31 34 20 54 65 73 ..# RFC 7914 Tes
0a50: 74 20 43 61 73 65 20 32 0a 48 61 73 68 20 3d 20 t Case 2.Hash =
0a60: 53 48 41 32 35 36 0a 50 6c 65 6e 20 3d 20 38 0a SHA256.Plen = 8.
0a70: 53 6c 65 6e 20 3d 20 34 0a 50 20 3d 20 22 50 61 Slen = 4.P = "Pa
0a80: 73 73 77 6f 72 64 22 0a 53 20 3d 20 22 4e 61 43 ssword".S = "NaC
0a90: 6c 22 0a 63 20 3d 20 38 30 30 30 30 0a 64 6b 4c l".c = 80000.dkL
0aa0: 65 6e 20 3d 20 36 34 0a 44 4b 20 3d 20 34 64 64 en = 64.DK = 4dd
0ab0: 63 64 38 66 36 30 62 39 38 62 65 32 31 38 33 30 cd8f60b98be21830
0ac0: 63 65 65 35 65 66 32 32 37 30 31 66 39 36 34 31 cee5ef22701f9641
0ad0: 61 34 34 31 38 64 30 34 63 30 34 31 34 61 65 66 a4418d04c0414aef
0ae0: 66 30 38 38 37 36 62 33 34 61 62 35 36 61 31 64 f08876b34ab56a1d
0af0: 34 32 35 61 31 32 32 35 38 33 33 35 34 39 61 64 425a1225833549ad
0b00: 62 38 34 31 62 35 31 63 39 62 33 31 37 36 61 32 b841b51c9b3176a2
0b10: 37 32 62 64 65 62 62 61 31 64 30 37 38 34 37 38 72bdebba1d078478
0b20: 66 36 32 62 33 39 37 66 33 33 63 38 64 0a f62b397f33c8d.