Artifact
f5f610fe6465efa2f069822057ab055e637a4bf7984a4d9427b7aca2d38a14d7:
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 0a 23 20 54 65 73 74 20 43 61 73 65 20 31 d..# Test Case 1
00b0: 0a 48 61 73 68 20 3d 20 53 48 41 32 32 34 0a 50 .Hash = SHA224.P
00c0: 6c 65 6e 20 3d 20 38 0a 53 6c 65 6e 20 3d 20 34 len = 8.Slen = 4
00d0: 0a 50 20 3d 20 22 70 61 73 73 77 6f 72 64 22 0a .P = "password".
00e0: 53 20 3d 20 22 73 61 6c 74 22 0a 63 20 3d 20 31 S = "salt".c = 1
00f0: 0a 64 6b 4c 65 6e 20 3d 20 32 30 0a 44 4b 20 3d .dkLen = 20.DK =
0100: 20 33 63 31 39 38 63 62 64 62 39 34 36 34 62 37 3c198cbdb9464b7
0110: 38 35 37 39 36 36 62 64 30 35 62 37 62 63 39 32 857966bd05b7bc92
0120: 62 63 31 63 63 34 65 36 65 0a 0a 23 20 54 65 73 bc1cc4e6e..# Tes
0130: 74 20 43 61 73 65 20 32 0a 48 61 73 68 20 3d 20 t Case 2.Hash =
0140: 53 48 41 32 32 34 0a 50 6c 65 6e 20 3d 20 38 0a SHA224.Plen = 8.
0150: 53 6c 65 6e 20 3d 20 34 0a 50 20 3d 20 22 70 61 Slen = 4.P = "pa
0160: 73 73 77 6f 72 64 22 0a 53 20 3d 20 22 73 61 6c ssword".S = "sal
0170: 74 22 0a 63 20 3d 20 32 0a 64 6b 4c 65 6e 20 3d t".c = 2.dkLen =
0180: 20 32 30 0a 44 4b 20 3d 20 39 33 32 30 30 66 66 20.DK = 93200ff
0190: 61 39 36 63 35 37 37 36 64 33 38 66 61 31 30 61 a96c5776d38fa10a
01a0: 62 64 66 38 66 35 62 66 63 30 30 35 34 62 39 37 bdf8f5bfc0054b97
01b0: 31 0a 0a 23 20 54 65 73 74 20 43 61 73 65 20 33 1..# Test Case 3
01c0: 0a 48 61 73 68 20 3d 20 53 48 41 32 32 34 0a 50 .Hash = SHA224.P
01d0: 6c 65 6e 20 3d 20 38 0a 53 6c 65 6e 20 3d 20 34 len = 8.Slen = 4
01e0: 0a 50 20 3d 20 22 70 61 73 73 77 6f 72 64 22 0a .P = "password".
01f0: 53 20 3d 20 22 73 61 6c 74 22 0a 63 20 3d 20 34 S = "salt".c = 4
0200: 30 39 36 0a 64 6b 4c 65 6e 20 3d 20 32 30 0a 44 096.dkLen = 20.D
0210: 4b 20 3d 20 32 31 38 63 34 35 33 62 66 39 30 36 K = 218c453bf906
0220: 33 35 62 64 30 61 32 31 61 37 35 64 31 37 32 37 35bd0a21a75d1727
0230: 30 33 66 66 36 31 30 38 65 66 36 30 0a 0a 23 20 03ff6108ef60..#
0240: 54 65 73 74 20 43 61 73 65 20 34 0a 48 61 73 68 Test Case 4.Hash
0250: 20 3d 20 53 48 41 32 32 34 0a 50 6c 65 6e 20 3d = SHA224.Plen =
0260: 20 38 0a 53 6c 65 6e 20 3d 20 34 0a 50 20 3d 20 8.Slen = 4.P =
0270: 22 70 61 73 73 77 6f 72 64 22 0a 53 20 3d 20 22 "password".S = "
0280: 73 61 6c 74 22 0a 63 20 3d 20 31 36 37 37 37 32 salt".c = 167772
0290: 31 36 0a 64 6b 4c 65 6e 20 3d 20 32 30 0a 44 4b 16.dkLen = 20.DK
02a0: 20 3d 20 62 34 39 39 32 35 31 38 34 63 62 34 62 = b49925184cb4b
02b0: 35 35 39 66 33 36 35 65 39 34 66 63 61 66 63 64 559f365e94fcafcd
02c0: 34 63 64 62 39 66 37 61 65 66 34 0a 0a 23 20 54 4cdb9f7aef4..# T
02d0: 65 73 74 20 43 61 73 65 20 35 0a 48 61 73 68 20 est Case 5.Hash
02e0: 3d 20 53 48 41 32 32 34 0a 50 6c 65 6e 20 3d 20 = SHA224.Plen =
02f0: 32 34 0a 53 6c 65 6e 20 3d 20 33 36 0a 50 20 3d 24.Slen = 36.P =
0300: 20 22 70 61 73 73 77 6f 72 64 50 41 53 53 57 4f "passwordPASSWO
0310: 52 44 70 61 73 73 77 6f 72 64 22 0a 53 20 3d 20 RDpassword".S =
0320: 22 73 61 6c 74 53 41 4c 54 73 61 6c 74 53 41 4c "saltSALTsaltSAL
0330: 54 73 61 6c 74 53 41 4c 54 73 61 6c 74 53 41 4c TsaltSALTsaltSAL
0340: 54 73 61 6c 74 22 0a 63 20 3d 20 34 30 39 36 0a Tsalt".c = 4096.
0350: 64 6b 4c 65 6e 20 3d 20 32 35 0a 44 4b 20 3d 20 dkLen = 25.DK =
0360: 30 35 36 63 34 62 61 34 33 38 64 65 64 39 31 66 056c4ba438ded91f
0370: 63 31 34 65 30 35 39 34 65 36 66 35 32 62 38 37 c14e0594e6f52b87
0380: 65 31 66 33 36 39 30 63 30 64 63 30 66 62 63 30 e1f3690c0dc0fbc0
0390: 35 37 0a 0a 23 20 54 65 73 74 20 43 61 73 65 20 57..# Test Case
03a0: 36 0a 48 61 73 68 20 3d 20 53 48 41 32 32 34 0a 6.Hash = SHA224.
03b0: 50 6c 65 6e 20 3d 20 39 0a 53 6c 65 6e 20 3d 20 Plen = 9.Slen =
03c0: 35 0a 50 20 3d 20 22 70 61 73 73 5c 30 77 6f 72 5.P = "pass\0wor
03d0: 64 22 0a 53 20 3d 20 22 73 61 5c 30 6c 74 22 0a d".S = "sa\0lt".
03e0: 63 20 3d 20 34 30 39 36 0a 64 6b 4c 65 6e 20 3d c = 4096.dkLen =
03f0: 20 31 36 0a 44 4b 20 3d 20 39 62 34 30 31 31 62 16.DK = 9b4011b
0400: 36 34 31 66 34 30 61 32 61 35 30 30 61 33 31 64 641f40a2a500a31d
0410: 34 61 33 39 32 64 31 35 63 0a 0a 23 20 54 65 73 4a392d15c..# Tes
0420: 74 20 43 61 73 65 20 37 0a 48 61 73 68 20 3d 20 t Case 7.Hash =
0430: 53 48 41 32 32 34 0a 50 6c 65 6e 20 3d 20 36 0a SHA224.Plen = 6.
0440: 53 6c 65 6e 20 3d 20 34 0a 50 20 3d 20 22 70 61 Slen = 4.P = "pa
0450: 73 73 77 64 22 0a 53 20 3d 20 22 73 61 6c 74 22 sswd".S = "salt"
0460: 0a 63 20 3d 20 31 0a 64 6b 4c 65 6e 20 3d 20 31 .c = 1.dkLen = 1
0470: 32 38 0a 44 4b 20 3d 20 65 35 35 62 64 37 37 63 28.DK = e55bd77c
0480: 66 63 31 38 62 30 31 32 61 63 36 33 36 32 65 32 fc18b012ac6362e2
0490: 32 64 37 63 64 66 37 37 63 34 62 30 33 38 37 39 2d7cdf77c4b03879
04a0: 61 36 61 66 35 31 66 62 66 30 30 34 35 62 63 33 a6af51fbf0045bc3
04b0: 32 61 30 33 65 37 66 30 64 38 32 39 64 32 36 62 2a03e7f0d829d26b
04c0: 37 36 35 62 66 66 30 63 61 35 38 37 33 65 30 37 765bff0ca5873e07
04d0: 61 38 65 38 35 38 30 34 66 66 34 61 31 37 36 38 a8e85804ff4a1768
04e0: 33 65 64 37 30 36 31 33 30 64 35 31 36 35 37 34 3ed706130d516574
04f0: 35 36 62 63 30 65 62 64 30 37 63 33 35 63 61 30 56bc0ebd07c35ca0
0500: 36 37 35 62 33 31 31 33 61 64 39 63 33 33 66 65 675b3113ad9c33fe
0510: 34 38 61 35 65 62 39 65 39 64 63 36 63 36 61 38 48a5eb9e9dc6c6a8
0520: 63 66 35 63 66 36 64 65 31 33 31 38 62 34 31 34 cf5cf6de1318b414
0530: 64 62 65 36 36 37 62 66 61 65 62 38 36 33 65 66 dbe667bfaeb863ef
0540: 38 33 39 39 66 66 34 61 37 33 32 35 32 30 64 61 8399ff4a732520da
0550: 62 34 62 61 38 32 33 33 36 35 31 33 61 32 35 30 b4ba82336513a250
0560: 37 37 64 64 66 63 31 31 66 63 36 31 38 63 31 31 77ddfc11fc618c11
0570: 65 66 61 66 30 34 61 65 0a 0a 23 20 54 65 73 74 efaf04ae..# Test
0580: 20 43 61 73 65 20 38 0a 48 61 73 68 20 3d 20 53 Case 8.Hash = S
0590: 48 41 32 32 34 0a 50 6c 65 6e 20 3d 20 36 0a 53 HA224.Plen = 6.S
05a0: 6c 65 6e 20 3d 20 34 0a 50 20 3d 20 22 50 61 73 len = 4.P = "Pas
05b0: 73 77 6f 72 64 22 0a 53 20 3d 20 22 4e 61 43 6c sword".S = "NaCl
05c0: 22 0a 63 20 3d 20 38 30 30 30 30 0a 64 6b 4c 65 ".c = 80000.dkLe
05d0: 6e 20 3d 20 31 32 38 0a 44 4b 20 3d 20 62 65 62 n = 128.DK = beb
05e0: 62 64 66 38 30 39 64 35 33 66 63 38 34 35 33 31 bdf809d53fc84531
05f0: 64 30 61 62 65 30 36 36 37 39 61 38 63 38 35 32 d0abe06679a8c852
0600: 36 66 64 65 34 37 62 34 37 32 34 35 36 33 34 31 6fde47b472456341
0610: 38 36 39 30 38 33 33 35 38 35 37 33 33 34 61 37 86908335857334a7
0620: 35 37 38 35 34 33 66 39 32 34 31 37 32 36 64 38 578543f9241726d8
0630: 34 35 65 65 38 65 35 37 35 31 30 35 65 34 61 37 45ee8e575105e4a7
0640: 33 33 62 35 64 63 61 65 66 61 37 35 36 30 61 66 33b5dcaefa7560af
0650: 33 64 30 32 38 65 63 63 66 39 35 39 33 37 35 33 3d028eccf9593753
0660: 35 39 31 38 64 62 61 61 38 34 32 36 39 66 63 30 5918dbaa84269fc0
0670: 35 38 36 37 31 31 65 37 61 35 62 39 64 63 30 64 586711e7a5b9dc0d
0680: 34 63 32 38 66 63 37 61 38 39 34 36 39 64 62 37 4c28fc7a89469db7
0690: 66 66 35 38 32 39 62 38 66 63 31 65 66 37 30 39 ff5829b8fc1ef709
06a0: 64 37 65 66 39 35 63 36 63 37 64 62 32 34 63 65 d7ef95c6c7db24ce
06b0: 63 65 38 38 66 37 63 31 34 30 38 63 38 65 37 63 ce88f7c1408c8e7c
06c0: 65 65 35 35 63 38 34 64 62 30 65 65 62 62 38 64 ee55c84db0eebb8d
06d0: 38 65 34 31 0a 23 20 54 65 73 74 20 43 61 73 65 8e41.# Test Case
06e0: 20 39 0a 48 61 73 68 20 3d 20 53 48 41 32 32 34 9.Hash = SHA224
06f0: 0a 50 6c 65 6e 20 3d 20 36 0a 53 6c 65 6e 20 3d .Plen = 6.Slen =
0700: 20 34 0a 50 20 3d 20 22 50 61 73 73 77 6f 72 64 4.P = "Password
0710: 22 0a 53 20 3d 20 22 73 61 5c 30 6c 74 22 0a 63 ".S = "sa\0lt".c
0720: 20 3d 20 34 30 39 36 0a 64 6b 4c 65 6e 20 3d 20 = 4096.dkLen =
0730: 32 35 36 0a 44 4b 20 3d 20 61 33 32 39 61 33 36 256.DK = a329a36
0740: 30 63 38 32 35 65 31 32 65 34 35 34 61 64 38 36 0c825e12e454ad86
0750: 33 33 61 38 34 32 61 30 36 62 61 31 34 35 36 39 33a842a06ba14569
0760: 30 37 37 37 30 37 37 39 64 31 66 61 34 65 30 62 07770779d1fa4e0b
0770: 36 31 61 35 62 31 63 36 63 65 30 32 65 37 31 64 61a5b1c6ce02e71d
0780: 65 37 34 61 65 34 33 33 62 62 66 31 34 62 39 30 e74ae433bbf14b90
0790: 37 36 39 30 64 30 30 38 64 30 63 61 62 35 62 30 7690d008d0cab5b0
07a0: 31 63 39 37 36 63 31 65 36 32 37 62 30 32 37 61 1c976c1e627b027a
07b0: 39 61 38 30 39 66 64 30 30 31 30 38 32 63 38 30 9a809fd001082c80
07c0: 39 36 35 30 33 34 34 65 63 66 63 64 65 62 64 66 9650344ecfcdebdf
07d0: 30 64 36 34 62 39 32 63 62 31 65 38 36 39 62 66 0d64b92cb1e869bf
07e0: 39 31 62 37 35 35 31 37 65 61 33 36 39 31 38 31 91b75517ea369181
07f0: 32 37 62 31 65 63 63 63 34 63 61 63 31 34 35 66 27b1eccc4cac145f
0800: 62 39 36 35 30 37 31 32 39 32 61 36 64 66 61 33 b965071292a6dfa3
0810: 38 38 64 38 61 64 38 39 33 64 32 35 34 31 66 38 88d8ad893d2541f8
0820: 33 61 30 64 61 63 31 63 35 35 64 32 64 39 30 37 3a0dac1c55d2d907
0830: 30 39 39 36 33 62 30 36 36 64 65 39 38 35 65 39 09963b066de985e9
0840: 32 39 37 34 65 38 37 62 37 64 38 63 30 65 38 30 2974e87b7d8c0e80
0850: 32 36 64 39 36 36 38 34 62 62 30 34 32 35 32 30 26d96684bb042520
0860: 33 39 31 39 62 34 37 39 32 39 36 32 62 30 36 35 3919b4792962b065
0870: 65 32 62 32 62 38 31 35 62 61 38 38 38 62 38 34 e2b2b815ba888b84
0880: 32 38 61 65 35 31 66 35 37 61 37 34 66 36 33 37 28ae51f57a74f637
0890: 61 36 35 38 65 32 37 63 66 35 66 62 63 35 35 39 a658e27cf5fbc559
08a0: 33 65 38 35 66 37 37 35 61 31 66 38 31 36 36 30 3e85f775a1f81660
08b0: 38 35 30 61 37 32 33 65 32 65 62 35 36 35 66 33 850a723e2eb565f3
08c0: 30 64 66 63 32 63 66 32 39 37 33 61 64 35 37 65 0dfc2cf2973ad57e
08d0: 63 39 35 62 38 39 63 30 39 37 39 63 37 62 61 62 c95b89c0979c7bab
08e0: 38 31 63 31 31 64 38 39 38 37 35 34 30 61 33 32 81c11d8987540a32
08f0: 62 61 64 62 32 66 37 62 62 65 34 66 66 32 31 61 badb2f7bbe4ff21a
0900: 34 66 30 64 39 31 64 62 64 39 31 31 62 38 38 64 4f0d91dbd911b88d
0910: 64 64 39 32 38 36 30 33 66 64 32 37 62 30 65 64 dd928603fd27b0ed
0920: 65 39 39 34 65 65 39 39 65 64 64 32 63 30 34 36 e994ee99edd2c046
0930: 36 37 62 38 32 30 36 37 66 0a 67b82067f.