Artifact
35b0e900f6dd2c02ec6cc330ccd74653029dd17eac7c6ce41bea4700fe35b898:
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 35 31 32 0a 50 .Hash = SHA512.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 38 36 37 66 37 30 63 66 31 61 64 65 30 32 63 867f70cf1ade02c
0110: 66 66 33 37 35 32 35 39 39 61 33 61 35 33 64 63 ff3752599a3a53dc
0120: 34 61 66 33 34 63 37 61 36 0a 0a 23 20 54 65 73 4af34c7a6..# 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 35 31 32 0a 50 6c 65 6e 20 3d 20 38 0a SHA512.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 65 31 64 39 63 31 36 20.DK = e1d9c16
0190: 61 61 36 38 31 37 30 38 61 34 35 66 35 63 37 63 aa681708a45f5c7c
01a0: 34 65 32 31 35 63 65 62 36 36 65 30 31 31 61 32 4e215ceb66e011a2
01b0: 65 0a 0a 23 20 54 65 73 74 20 43 61 73 65 20 33 e..# Test Case 3
01c0: 0a 48 61 73 68 20 3d 20 53 48 41 35 31 32 0a 50 .Hash = SHA512.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 64 31 39 37 62 31 62 33 33 64 62 30 K = d197b1b33db0
0220: 31 34 33 65 30 31 38 62 31 32 66 33 64 31 64 31 143e018b12f3d1d1
0230: 34 37 39 65 36 63 64 65 62 64 63 63 0a 0a 23 20 479e6cdebdcc..#
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 35 31 32 0a 50 6c 65 6e 20 3d = SHA512.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 36 31 38 30 61 33 63 65 61 62 61 62 34 = 6180a3ceabab4
02b0: 35 63 63 33 39 36 34 31 31 32 63 38 31 31 65 30 5cc3964112c811e0
02c0: 31 33 31 62 63 61 39 33 61 33 35 0a 0a 23 20 54 131bca93a35..# 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 35 31 32 0a 50 6c 65 6e 20 3d 20 = SHA512.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 63 30 35 31 31 66 34 63 36 65 35 39 37 63 36 8c0511f4c6e597c6
0370: 61 63 36 33 31 35 64 38 66 30 33 36 32 65 32 32 ac6315d8f0362e22
0380: 35 66 33 63 35 30 31 34 39 35 62 61 32 33 62 38 5f3c501495ba23b8
0390: 36 38 0a 0a 23 20 54 65 73 74 20 43 61 73 65 20 68..# Test Case
03a0: 36 0a 48 61 73 68 20 3d 20 53 48 41 35 31 32 0a 6.Hash = SHA512.
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 64 39 65 39 63 34 16.DK = 9d9e9c4
0400: 63 64 32 31 66 65 34 62 65 32 34 64 35 62 38 32 cd21fe4be24d5b82
0410: 34 34 63 37 35 39 36 36 35 0a 0a 23 20 54 65 73 44c759665..# 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 35 31 32 0a 50 6c 65 6e 20 3d 20 36 0a SHA512.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 37 34 33 31 39 64 39 28.DK = c74319d9
0480: 39 34 39 39 66 63 33 65 39 30 31 33 61 63 66 66 9499fc3e9013acff
0490: 35 39 37 63 32 33 63 35 62 61 66 30 61 30 62 65 597c23c5baf0a0be
04a0: 63 35 36 33 34 63 34 36 62 38 33 35 32 62 37 39 c5634c46b8352b79
04b0: 33 65 33 32 34 37 32 33 64 35 35 63 61 61 37 36 3e324723d55caa76
04c0: 62 32 62 32 35 63 34 33 34 30 32 64 63 66 64 63 b2b25c43402dcfdc
04d0: 30 36 63 64 63 66 36 36 66 39 35 62 37 64 30 34 06cdcf66f95b7d04
04e0: 32 39 34 32 30 62 33 39 35 32 30 30 30 36 37 34 29420b3952000674
04f0: 39 63 35 31 61 30 34 65 66 33 65 62 39 39 65 35 9c51a04ef3eb99e5
0500: 37 36 36 31 37 33 39 35 61 31 37 38 62 61 33 33 76617395a178ba33
0510: 32 31 34 37 39 33 65 34 38 30 34 35 31 33 32 39 214793e480451329
0520: 32 38 61 39 65 39 62 66 32 36 36 31 37 36 39 66 28a9e9bf2661769f
0530: 64 63 36 36 38 66 33 31 37 39 38 35 39 37 61 61 dc668f31798597aa
0540: 66 36 64 61 37 30 64 64 39 39 36 61 38 31 30 31 f6da70dd996a8101
0550: 39 37 32 36 30 38 34 64 37 30 66 31 35 32 62 61 9726084d70f152ba
0560: 65 64 38 61 61 66 65 32 32 32 37 63 30 37 36 33 ed8aafe2227c0763
0570: 36 63 36 64 64 65 63 65 0a 0a 23 20 54 65 73 74 6c6ddece..# 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 35 31 32 0a 50 6c 65 6e 20 3d 20 36 0a 53 HA512.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 65 36 33 n = 128.DK = e63
05e0: 33 37 64 36 66 62 65 62 36 34 35 63 37 39 34 64 37d6fbeb645c794d
05f0: 34 61 39 62 35 62 37 35 62 37 62 33 30 64 61 63 4a9b5b75b7b30dac
0600: 39 61 63 35 30 33 37 36 61 39 31 64 66 31 66 34 9ac50376a91df1f4
0610: 34 36 30 66 36 30 36 30 64 35 61 64 64 62 32 63 460f6060d5addb2c
0620: 31 66 64 31 66 38 34 34 30 39 61 62 61 63 63 36 1fd1f84409abacc6
0630: 37 64 65 37 65 62 34 30 35 36 65 36 62 62 30 36 7de7eb4056e6bb06
0640: 63 32 64 38 32 63 33 65 66 34 63 63 64 31 62 64 c2d82c3ef4ccd1bd
0650: 65 64 30 66 36 37 35 65 64 39 37 63 36 35 63 33 ed0f675ed97c65c3
0660: 33 64 33 39 66 38 31 32 34 38 34 35 34 33 32 37 3d39f81248454327
0670: 61 61 36 64 30 33 66 64 30 34 39 66 63 35 63 62 aa6d03fd049fc5cb
0680: 62 32 62 35 65 36 64 61 63 30 38 65 38 61 63 65 b2b5e6dac08e8ace
0690: 39 39 36 63 64 63 39 36 30 62 31 62 64 34 35 33 996cdc960b1bd453
06a0: 30 62 37 65 37 35 34 37 37 33 64 37 35 66 36 37 0b7e754773d75f67
06b0: 61 37 33 33 66 64 62 39 39 62 61 66 36 34 37 30 a733fdb99baf6470
06c0: 65 34 32 66 66 63 62 37 35 33 63 31 35 63 33 35 e42ffcb753c15c35
06d0: 32 64 34 38 30 30 66 62 36 66 39 64 36 0a 0a 23 2d4800fb6f9d6..#
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 35 31 32 0a 50 6c 65 6e 20 h = SHA512.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 31 30 31 37 36 66 62 33 32 63 62 39 38 = 10176fb32cb98
0750: 63 64 37 62 62 33 31 65 32 62 62 35 63 38 66 36 cd7bb31e2bb5c8f6
0760: 65 34 32 35 63 31 30 33 33 33 33 61 32 65 34 39 e425c103333a2e49
0770: 36 30 35 38 65 33 66 64 32 62 64 38 38 66 36 35 6058e3fd2bd88f65
0780: 37 34 38 35 63 38 39 65 66 39 32 64 61 61 30 36 7485c89ef92daa06
0790: 36 38 33 31 36 62 63 32 33 65 62 64 31 65 66 38 68316bc23ebd1ef8
07a0: 38 66 36 64 64 31 34 31 35 37 62 32 33 32 30 62 8f6dd14157b2320b
07b0: 35 64 35 34 62 35 66 32 36 33 37 37 63 35 64 63 5d54b5f26377c5dc
07c0: 32 37 39 62 31 64 63 64 65 63 30 34 34 62 64 36 279b1dcdec044bd6
07d0: 66 39 31 62 31 36 36 39 31 37 63 38 30 65 31 65 f91b166917c80e1e
07e0: 39 39 65 66 38 36 31 62 31 64 32 63 37 62 63 65 99ef861b1d2c7bce
07f0: 31 62 39 36 31 31 37 38 31 32 35 66 62 38 36 38 1b961178125fb868
0800: 36 37 66 36 64 62 34 38 39 61 32 65 61 65 30 30 67f6db489a2eae00
0810: 32 32 65 37 62 63 39 63 66 34 32 31 66 30 34 34 22e7bc9cf421f044
0820: 33 31 39 66 61 63 37 36 35 64 37 30 63 62 38 39 319fac765d70cb89
0830: 62 34 35 63 32 31 34 35 39 30 65 32 66 66 62 32 b45c214590e2ffb2
0840: 63 32 62 35 36 35 61 62 33 62 39 64 30 37 35 37 c2b565ab3b9d0757
0850: 31 66 64 65 30 30 32 37 62 31 64 63 35 37 66 38 1fde0027b1dc57f8
0860: 66 64 32 35 61 66 61 38 34 32 63 31 30 35 36 64 fd25afa842c1056d
0870: 64 34 35 39 61 66 34 30 37 34 64 37 35 31 30 61 d459af4074d7510a
0880: 30 63 30 32 30 62 39 31 34 61 35 65 32 30 32 34 0c020b914a5e2024
0890: 34 35 64 34 64 33 66 31 35 31 30 37 30 35 38 39 45d4d3f151070589
08a0: 64 64 36 61 32 35 35 34 66 63 35 30 36 30 31 38 dd6a2554fc506018
08b0: 63 34 66 30 30 31 64 66 36 32 33 39 36 34 33 64 c4f001df6239643d
08c0: 63 38 36 37 37 31 32 38 36 61 65 34 39 31 30 37 c86771286ae49107
08d0: 36 39 64 38 33 38 35 35 33 31 62 62 61 35 37 35 69d8385531bba575
08e0: 34 34 64 36 33 63 33 36 34 30 62 39 30 63 39 38 44d63c3640b90c98
08f0: 66 31 34 34 35 65 62 64 64 31 32 39 34 37 35 65 f1445ebdd129475e
0900: 30 32 30 38 36 62 36 30 30 66 30 62 65 62 35 62 02086b600f0beb5b
0910: 30 35 63 63 36 63 61 39 62 33 36 33 33 62 34 35 05cc6ca9b3633b45
0920: 32 62 37 64 61 64 36 33 34 65 39 33 33 36 66 35 2b7dad634e9336f5
0930: 36 65 63 34 63 33 61 63 30 62 34 66 65 35 34 63 6ec4c3ac0b4fe54c
0940: 65 64 38 0a 0a ed8..