Hex Artifact Content

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..