Artifact
57fec8e1a5047a995df5b745f1fe0f78899d16843587ac20a0f873e3bf1557dd:
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 33 38 34 0a 50 .Hash = SHA384.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 63 30 65 31 34 66 30 36 65 34 39 65 33 32 64 c0e14f06e49e32d
0110: 37 33 66 39 66 35 32 64 64 66 31 64 30 63 35 63 73f9f52ddf1d0c5c
0120: 37 31 39 31 36 30 39 32 33 0a 0a 23 20 54 65 73 719160923..# 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 33 38 34 0a 50 6c 65 6e 20 3d 20 38 0a SHA384.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 35 34 66 37 37 35 63 20.DK = 54f775c
0190: 36 64 37 39 30 66 32 31 39 33 30 34 35 39 31 36 6d790f2193045916
01a0: 32 66 63 35 33 35 64 62 66 30 34 61 39 33 39 31 2fc535dbf04a9391
01b0: 38 0a 0a 23 20 54 65 73 74 20 43 61 73 65 20 33 8..# Test Case 3
01c0: 0a 48 61 73 68 20 3d 20 53 48 41 33 38 34 0a 50 .Hash = SHA384.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 35 35 39 37 32 36 62 65 33 38 64 62 K = 559726be38db
0220: 31 32 35 62 63 38 35 65 64 37 38 39 35 66 36 65 125bc85ed7895f6e
0230: 33 63 66 35 37 34 63 37 61 30 31 63 0a 0a 23 20 3cf574c7a01c..#
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 33 38 34 0a 50 6c 65 6e 20 3d = SHA384.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 61 37 66 64 62 33 34 39 62 61 32 62 66 = a7fdb349ba2bf
02b0: 61 36 62 66 36 34 37 62 62 30 31 36 31 62 61 65 a6bf647bb0161bae
02c0: 31 33 32 30 64 66 32 37 65 36 34 0a 0a 23 20 54 1320df27e64..# 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 33 38 34 0a 50 6c 65 6e 20 3d 20 = SHA384.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: 38 31 39 31 34 33 61 64 36 36 64 66 39 61 35 35 819143ad66df9a55
0370: 32 35 35 39 62 39 65 31 33 31 63 35 32 61 65 36 2559b9e131c52ae6
0380: 63 35 63 31 62 30 65 65 64 31 38 66 34 64 32 38 c5c1b0eed18f4d28
0390: 33 62 0a 0a 23 20 54 65 73 74 20 43 61 73 65 20 3b..# Test Case
03a0: 36 0a 48 61 73 68 20 3d 20 53 48 41 33 38 34 0a 6.Hash = SHA384.
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 61 33 66 30 30 61 63 16.DK = a3f00ac
0400: 38 36 35 37 65 30 39 35 66 38 65 30 38 32 33 64 8657e095f8e0823d
0410: 32 33 32 66 63 36 30 62 33 0a 0a 23 20 54 65 73 232fc60b3..# 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 33 38 34 0a 50 6c 65 6e 20 3d 20 36 0a SHA384.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 63 64 33 34 34 33 37 32 28.DK = cd344372
0480: 33 61 34 31 63 66 31 34 36 30 63 63 61 39 65 66 3a41cf1460cca9ef
0490: 65 65 64 65 34 32 38 61 38 38 39 38 61 38 32 64 eede428a8898a82d
04a0: 32 61 64 34 64 31 66 63 35 63 63 61 30 38 65 64 2ad4d1fc5cca08ed
04b0: 33 66 34 64 33 63 62 34 37 61 36 32 61 37 30 62 3f4d3cb47a62a70b
04c0: 33 63 62 39 63 65 36 35 64 63 62 66 62 39 66 62 3cb9ce65dcbfb9fb
04d0: 39 64 34 32 35 30 32 37 61 38 62 65 36 39 62 35 9d425027a8be69b5
04e0: 33 65 32 61 32 32 36 37 34 62 30 39 33 39 65 35 3e2a22674b0939e5
04f0: 65 30 61 36 38 32 66 37 36 64 32 31 66 34 34 39 e0a682f76d21f449
0500: 61 64 31 38 34 35 36 32 61 33 62 63 34 63 35 31 ad184562a3bc4c51
0510: 39 62 34 64 30 34 38 64 65 36 64 38 65 30 39 39 9b4d048de6d8e099
0520: 39 66 62 38 38 37 37 30 66 39 35 65 34 30 31 38 9fb88770f95e4018
0530: 35 65 31 39 66 63 38 62 36 38 37 36 37 34 31 37 5e19fc8b68767417
0540: 63 63 63 30 36 34 66 34 37 61 34 35 35 64 30 34 ccc064f47a455d04
0550: 35 62 33 62 61 66 64 61 37 65 38 31 62 39 37 61 5b3bafda7e81b97a
0560: 64 30 65 34 63 35 35 38 31 61 66 31 61 61 32 37 d0e4c5581af1aa27
0570: 38 37 31 63 64 35 65 34 0a 0a 23 20 54 65 73 74 871cd5e4..# 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 33 38 34 0a 50 6c 65 6e 20 3d 20 36 0a 53 HA384.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 31 31 63 n = 128.DK = 11c
05e0: 31 39 38 39 38 37 37 33 30 66 61 31 31 33 34 35 198987730fa11345
05f0: 38 30 35 33 63 64 35 63 63 39 62 35 31 64 37 30 8053cd5cc9b51d70
0600: 32 34 61 33 35 66 39 31 33 34 66 31 65 65 38 37 24a35f9134f1ee87
0610: 34 30 39 32 33 63 39 30 31 61 61 62 32 33 62 62 40923c901aab23bb
0620: 61 65 61 34 33 36 38 36 39 38 31 62 36 65 36 61 aea43686981b6e6a
0630: 39 66 34 31 33 30 61 31 34 30 31 64 61 65 65 65 9f4130a1401daeee
0640: 63 37 34 30 36 30 32 34 36 65 62 61 63 39 35 38 c74060246ebac958
0650: 66 33 63 66 63 33 63 36 35 35 37 39 62 36 65 33 f3cfc3c65579b6e3
0660: 64 30 38 62 39 34 61 64 65 35 66 63 32 35 37 61 d08b94ade5fc257a
0670: 36 39 30 32 61 30 61 31 36 36 34 62 38 64 62 64 6902a0a1664b8dbd
0680: 35 61 38 61 65 32 61 66 37 30 34 33 38 39 33 31 5a8ae2af70438931
0690: 64 33 66 33 36 37 39 61 62 66 66 63 37 61 31 37 d3f3679abffc7a17
06a0: 37 37 30 35 38 32 66 31 65 65 34 31 33 63 63 30 770582f1ee413cc0
06b0: 64 39 39 31 34 63 65 35 66 38 31 34 33 63 38 61 d9914ce5f8143c8a
06c0: 37 64 63 39 63 34 33 66 62 63 33 31 65 33 64 34 7dc9c43fbc31e3d4
06d0: 31 62 32 30 33 30 66 62 37 33 63 30 32 0a 0a 23 1b2030fb73c02..#
06e0: 20 54 65 73 74 20 43 61 73 65 20 39 0a 48 61 73 Test Case 9.Has
06f0: 68 20 3d 20 53 48 41 33 38 34 0a 50 6c 65 6e 20 h = SHA384.Plen
0700: 3d 20 36 0a 53 6c 65 6e 20 3d 20 34 0a 50 20 3d = 6.Slen = 4.P =
0710: 20 22 50 61 73 73 77 6f 72 64 22 0a 53 20 3d 20 "Password".S =
0720: 22 73 61 5c 30 6c 74 22 0a 63 20 3d 20 34 30 39 "sa\0lt".c = 409
0730: 36 0a 64 6b 4c 65 6e 20 3d 20 32 35 36 0a 44 4b 6.dkLen = 256.DK
0740: 20 3d 20 63 66 36 66 31 39 34 61 61 66 34 65 39 = cf6f194aaf4e9
0750: 37 30 61 66 65 61 31 66 34 31 31 36 39 30 34 35 70afea1f41169045
0760: 30 32 39 65 33 34 37 35 39 65 31 32 34 61 36 37 029e34759e124a67
0770: 30 62 35 66 37 33 30 35 33 64 61 35 35 32 61 31 0b5f73053da552a1
0780: 39 30 61 64 32 64 37 30 38 35 35 33 33 62 38 62 90ad2d7085533b8b
0790: 32 32 39 30 31 66 30 65 33 63 61 65 65 62 34 33 22901f0e3caeeb43
07a0: 31 62 61 36 37 33 34 36 38 66 39 38 31 33 35 32 1ba673468f981352
07b0: 64 66 63 62 65 35 31 37 36 39 39 64 62 37 39 31 dfcbe517699db791
07c0: 37 37 37 63 66 35 32 33 34 36 61 34 36 30 62 30 777cf52346a460b0
07d0: 39 33 63 35 39 65 61 33 30 30 66 62 31 38 64 61 93c59ea300fb18da
07e0: 65 65 32 37 30 65 32 65 61 38 34 37 33 38 30 36 ee270e2ea8473806
07f0: 64 61 31 36 36 33 63 65 62 65 37 34 33 38 62 35 da1663cebe7438b5
0800: 31 66 65 35 36 62 61 38 33 32 63 31 33 64 38 38 1fe56ba832c13d88
0810: 61 64 35 62 32 65 34 36 34 30 34 34 35 37 63 33 ad5b2e46404457c3
0820: 34 63 63 36 61 64 38 65 35 63 64 38 37 30 37 61 4cc6ad8e5cd8707a
0830: 31 61 63 66 61 37 33 37 66 33 36 31 37 36 32 38 1acfa737f3617628
0840: 61 35 39 38 33 64 38 64 31 30 66 61 31 36 61 39 a5983d8d10fa16a9
0850: 32 36 35 32 63 66 61 37 33 36 64 34 36 31 30 31 2652cfa736d46101
0860: 33 32 37 31 30 61 35 31 37 63 32 31 36 63 63 33 32710a517c216cc3
0870: 32 35 32 65 36 63 32 62 38 61 61 65 30 32 37 35 252e6c2b8aae0275
0880: 64 30 34 61 34 39 37 35 36 66 61 35 62 66 31 62 d04a49756fa5bf1b
0890: 62 30 36 37 62 63 33 36 37 64 31 62 38 63 38 30 b067bc367d1b8c80
08a0: 63 33 64 66 37 64 63 32 32 65 65 37 34 62 34 62 c3df7dc22ee74b4b
08b0: 65 34 31 35 30 38 37 31 36 32 34 62 66 64 64 65 e4150871624bfdde
08c0: 33 66 38 36 66 35 66 62 64 34 65 30 38 32 38 61 3f86f5fbd4e0828a
08d0: 66 37 64 35 61 34 66 30 31 62 35 36 30 35 65 35 f7d5a4f01b5605e5
08e0: 34 34 37 31 34 33 35 64 38 32 37 65 61 65 63 66 4471435d827eaecf
08f0: 31 39 39 64 62 33 31 35 61 65 36 30 64 31 61 36 199db315ae60d1a6
0900: 33 35 30 31 30 35 63 30 65 31 61 37 31 62 34 30 350105c0e1a71b40
0910: 35 31 38 61 34 61 36 36 65 62 62 61 34 37 39 32 518a4a66ebba4792
0920: 61 35 31 31 66 38 66 35 32 61 65 61 63 39 36 31 a511f8f52aeac961
0930: 65 62 65 61 32 31 35 66 38 66 62 38 39 62 61 39 ebea215f8fb89ba9
0940: 39 38 62 0a 98b.