Hex Artifact Content

Artifact cc7be086d5f7721514d82f246dd85df4c80f5f3c8f995eb6f5c1927301dcad22:


0000: 23 20 41 75 74 6f 20 67 65 6e 65 72 61 74 65 64  # Auto generated
0010: 20 66 72 6f 6d 20 22 50 42 4b 44 46 32 2d 53 48   from "PBKDF2-SH
0020: 41 32 35 36 2e 74 78 74 22 0a 70 61 63 6b 61 67  A256.txt".packag
0030: 65 20 72 65 71 75 69 72 65 20 74 6c 73 0a 70 61  e require tls.pa
0040: 63 6b 61 67 65 20 72 65 71 75 69 72 65 20 74 63  ckage require tc
0050: 6c 74 65 73 74 0a 0a 74 63 6c 74 65 73 74 3a 3a  ltest..tcltest::
0060: 74 65 73 74 43 6f 6e 73 74 72 61 69 6e 74 20 50  testConstraint P
0070: 42 4b 44 46 32 20 5b 65 78 70 72 20 7b 5b 6c 73  BKDF2 [expr {[ls
0080: 65 61 72 63 68 20 2d 6e 6f 63 61 73 65 20 5b 74  earch -nocase [t
0090: 6c 73 3a 3a 6b 64 66 73 5d 20 50 42 4b 44 46 32  ls::kdfs] PBKDF2
00a0: 5d 20 3e 20 2d 31 7d 5d 0a 74 63 6c 74 65 73 74  ] > -1}].tcltest
00b0: 3a 3a 74 65 73 74 43 6f 6e 73 74 72 61 69 6e 74  ::testConstraint
00c0: 20 53 48 41 32 35 36 20 5b 65 78 70 72 20 7b 5b   SHA256 [expr {[
00d0: 6c 73 65 61 72 63 68 20 2d 6e 6f 63 61 73 65 20  lsearch -nocase 
00e0: 5b 74 6c 73 3a 3a 64 69 67 65 73 74 73 5d 20 53  [tls::digests] S
00f0: 48 41 32 35 36 5d 20 3e 20 2d 31 7d 5d 0a 0a 74  HA256] > -1}]..t
0100: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4b 44 46  cltest::test KDF
0110: 5f 50 42 4b 44 46 32 2d 53 48 41 32 35 36 2d 31  _PBKDF2-SHA256-1
0120: 2e 31 20 7b 50 42 4b 44 46 32 2d 53 48 41 32 35  .1 {PBKDF2-SHA25
0130: 36 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  6} \..-constrain
0140: 74 73 20 7b 50 42 4b 44 46 32 20 53 48 41 32 35  ts {PBKDF2 SHA25
0150: 36 7d 20 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20  6} \..-setup {} 
0160: 5c 0a 09 2d 62 6f 64 79 20 7b 62 69 6e 61 72 79  \..-body {binary
0170: 20 65 6e 63 6f 64 65 20 68 65 78 20 5b 74 6c 73   encode hex [tls
0180: 3a 3a 70 62 6b 64 66 32 20 2d 64 69 67 65 73 74  ::pbkdf2 -digest
0190: 20 53 48 41 32 35 36 20 2d 70 61 73 73 77 6f 72   SHA256 -passwor
01a0: 64 20 22 70 61 73 73 77 6f 72 64 22 20 2d 73 61  d "password" -sa
01b0: 6c 74 20 22 73 61 6c 74 22 20 2d 69 74 65 72 61  lt "salt" -itera
01c0: 74 69 6f 6e 73 20 31 20 2d 73 69 7a 65 20 32 30  tions 1 -size 20
01d0: 5d 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61  ]} \..-match exa
01e0: 63 74 20 2d 72 65 73 75 6c 74 20 31 32 30 66 62  ct -result 120fb
01f0: 36 63 66 66 63 66 38 62 33 32 63 34 33 65 37 32  6cffcf8b32c43e72
0200: 32 35 32 35 36 63 34 66 38 33 37 61 38 36 35 34  25256c4f837a8654
0210: 38 63 39 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  8c9..tcltest::te
0220: 73 74 20 4b 44 46 5f 50 42 4b 44 46 32 2d 53 48  st KDF_PBKDF2-SH
0230: 41 32 35 36 2d 31 2e 32 20 7b 50 42 4b 44 46 32  A256-1.2 {PBKDF2
0240: 2d 53 48 41 32 35 36 7d 20 5c 0a 09 2d 63 6f 6e  -SHA256} \..-con
0250: 73 74 72 61 69 6e 74 73 20 7b 50 42 4b 44 46 32  straints {PBKDF2
0260: 20 53 48 41 32 35 36 7d 20 5c 0a 09 2d 73 65 74   SHA256} \..-set
0270: 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  up {} \..-body {
0280: 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68 65  binary encode he
0290: 78 20 5b 74 6c 73 3a 3a 70 62 6b 64 66 32 20 2d  x [tls::pbkdf2 -
02a0: 64 69 67 65 73 74 20 53 48 41 32 35 36 20 2d 70  digest SHA256 -p
02b0: 61 73 73 77 6f 72 64 20 22 70 61 73 73 77 6f 72  assword "passwor
02c0: 64 22 20 2d 73 61 6c 74 20 22 73 61 6c 74 22 20  d" -salt "salt" 
02d0: 2d 69 74 65 72 61 74 69 6f 6e 73 20 32 20 2d 73  -iterations 2 -s
02e0: 69 7a 65 20 32 30 5d 7d 20 5c 0a 09 2d 6d 61 74  ize 20]} \..-mat
02f0: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
0300: 20 61 65 34 64 30 63 39 35 61 66 36 62 34 36 64   ae4d0c95af6b46d
0310: 33 32 64 30 61 64 66 66 39 32 38 66 30 36 64 64  32d0adff928f06dd
0320: 30 32 61 33 30 33 66 38 65 0a 0a 74 63 6c 74 65  02a303f8e..tclte
0330: 73 74 3a 3a 74 65 73 74 20 4b 44 46 5f 50 42 4b  st::test KDF_PBK
0340: 44 46 32 2d 53 48 41 32 35 36 2d 31 2e 33 20 7b  DF2-SHA256-1.3 {
0350: 50 42 4b 44 46 32 2d 53 48 41 32 35 36 7d 20 5c  PBKDF2-SHA256} \
0360: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b  ..-constraints {
0370: 50 42 4b 44 46 32 20 53 48 41 32 35 36 7d 20 5c  PBKDF2 SHA256} \
0380: 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d  ..-setup {} \..-
0390: 62 6f 64 79 20 7b 62 69 6e 61 72 79 20 65 6e 63  body {binary enc
03a0: 6f 64 65 20 68 65 78 20 5b 74 6c 73 3a 3a 70 62  ode hex [tls::pb
03b0: 6b 64 66 32 20 2d 64 69 67 65 73 74 20 53 48 41  kdf2 -digest SHA
03c0: 32 35 36 20 2d 70 61 73 73 77 6f 72 64 20 22 70  256 -password "p
03d0: 61 73 73 77 6f 72 64 22 20 2d 73 61 6c 74 20 22  assword" -salt "
03e0: 73 61 6c 74 22 20 2d 69 74 65 72 61 74 69 6f 6e  salt" -iteration
03f0: 73 20 34 30 39 36 20 2d 73 69 7a 65 20 32 30 5d  s 4096 -size 20]
0400: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
0410: 74 20 2d 72 65 73 75 6c 74 20 63 35 65 34 37 38  t -result c5e478
0420: 64 35 39 32 38 38 63 38 34 31 61 61 35 33 30 64  d59288c841aa530d
0430: 62 36 38 34 35 63 34 63 38 64 39 36 32 38 39 33  b6845c4c8d962893
0440: 61 30 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  a0..tcltest::tes
0450: 74 20 4b 44 46 5f 50 42 4b 44 46 32 2d 53 48 41  t KDF_PBKDF2-SHA
0460: 32 35 36 2d 31 2e 34 20 7b 50 42 4b 44 46 32 2d  256-1.4 {PBKDF2-
0470: 53 48 41 32 35 36 7d 20 5c 0a 09 2d 63 6f 6e 73  SHA256} \..-cons
0480: 74 72 61 69 6e 74 73 20 7b 50 42 4b 44 46 32 20  traints {PBKDF2 
0490: 53 48 41 32 35 36 7d 20 5c 0a 09 2d 73 65 74 75  SHA256} \..-setu
04a0: 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 62  p {} \..-body {b
04b0: 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68 65 78  inary encode hex
04c0: 20 5b 74 6c 73 3a 3a 70 62 6b 64 66 32 20 2d 64   [tls::pbkdf2 -d
04d0: 69 67 65 73 74 20 53 48 41 32 35 36 20 2d 70 61  igest SHA256 -pa
04e0: 73 73 77 6f 72 64 20 22 70 61 73 73 77 6f 72 64  ssword "password
04f0: 22 20 2d 73 61 6c 74 20 22 73 61 6c 74 22 20 2d  " -salt "salt" -
0500: 69 74 65 72 61 74 69 6f 6e 73 20 31 36 37 37 37  iterations 16777
0510: 32 31 36 20 2d 73 69 7a 65 20 32 30 5d 7d 20 5c  216 -size 20]} \
0520: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
0530: 72 65 73 75 6c 74 20 63 66 38 31 63 36 36 66 65  result cf81c66fe
0540: 38 63 66 63 30 34 64 31 66 33 31 65 63 62 36 35  8cfc04d1f31ecb65
0550: 64 61 62 34 30 38 39 66 37 66 31 37 39 65 38 0a  dab4089f7f179e8.
0560: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4b  .tcltest::test K
0570: 44 46 5f 50 42 4b 44 46 32 2d 53 48 41 32 35 36  DF_PBKDF2-SHA256
0580: 2d 31 2e 35 20 7b 50 42 4b 44 46 32 2d 53 48 41  -1.5 {PBKDF2-SHA
0590: 32 35 36 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  256} \..-constra
05a0: 69 6e 74 73 20 7b 50 42 4b 44 46 32 20 53 48 41  ints {PBKDF2 SHA
05b0: 32 35 36 7d 20 5c 0a 09 2d 73 65 74 75 70 20 7b  256} \..-setup {
05c0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 62 69 6e 61  } \..-body {bina
05d0: 72 79 20 65 6e 63 6f 64 65 20 68 65 78 20 5b 74  ry encode hex [t
05e0: 6c 73 3a 3a 70 62 6b 64 66 32 20 2d 64 69 67 65  ls::pbkdf2 -dige
05f0: 73 74 20 53 48 41 32 35 36 20 2d 70 61 73 73 77  st SHA256 -passw
0600: 6f 72 64 20 22 70 61 73 73 77 6f 72 64 50 41 53  ord "passwordPAS
0610: 53 57 4f 52 44 70 61 73 73 77 6f 72 64 22 20 2d  SWORDpassword" -
0620: 73 61 6c 74 20 22 73 61 6c 74 53 41 4c 54 73 61  salt "saltSALTsa
0630: 6c 74 53 41 4c 54 73 61 6c 74 53 41 4c 54 73 61  ltSALTsaltSALTsa
0640: 6c 74 53 41 4c 54 73 61 6c 74 22 20 2d 69 74 65  ltSALTsalt" -ite
0650: 72 61 74 69 6f 6e 73 20 34 30 39 36 20 2d 73 69  rations 4096 -si
0660: 7a 65 20 32 35 5d 7d 20 5c 0a 09 2d 6d 61 74 63  ze 25]} \..-matc
0670: 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20  h exact -result 
0680: 33 34 38 63 38 39 64 62 63 62 64 33 32 62 32 66  348c89dbcbd32b2f
0690: 33 32 64 38 31 34 62 38 31 31 36 65 38 34 63 66  32d814b8116e84cf
06a0: 32 62 31 37 33 34 37 65 62 63 31 38 30 30 31 38  2b17347ebc180018
06b0: 31 63 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  1c..tcltest::tes
06c0: 74 20 4b 44 46 5f 50 42 4b 44 46 32 2d 53 48 41  t KDF_PBKDF2-SHA
06d0: 32 35 36 2d 31 2e 36 20 7b 50 42 4b 44 46 32 2d  256-1.6 {PBKDF2-
06e0: 53 48 41 32 35 36 7d 20 5c 0a 09 2d 63 6f 6e 73  SHA256} \..-cons
06f0: 74 72 61 69 6e 74 73 20 7b 50 42 4b 44 46 32 20  traints {PBKDF2 
0700: 53 48 41 32 35 36 7d 20 5c 0a 09 2d 73 65 74 75  SHA256} \..-setu
0710: 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 62  p {} \..-body {b
0720: 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68 65 78  inary encode hex
0730: 20 5b 74 6c 73 3a 3a 70 62 6b 64 66 32 20 2d 64   [tls::pbkdf2 -d
0740: 69 67 65 73 74 20 53 48 41 32 35 36 20 2d 70 61  igest SHA256 -pa
0750: 73 73 77 6f 72 64 20 22 70 61 73 73 5c 30 77 6f  ssword "pass\0wo
0760: 72 64 22 20 2d 73 61 6c 74 20 22 73 61 5c 30 6c  rd" -salt "sa\0l
0770: 74 22 20 2d 69 74 65 72 61 74 69 6f 6e 73 20 34  t" -iterations 4
0780: 30 39 36 20 2d 73 69 7a 65 20 31 36 5d 7d 20 5c  096 -size 16]} \
0790: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
07a0: 72 65 73 75 6c 74 20 38 39 62 36 39 64 30 35 31  result 89b69d051
07b0: 36 66 38 32 39 38 39 33 63 36 39 36 32 32 36 36  6f829893c6962266
07c0: 35 30 61 38 36 38 37 0a 0a 74 63 6c 74 65 73 74  50a8687..tcltest
07d0: 3a 3a 74 65 73 74 20 4b 44 46 5f 50 42 4b 44 46  ::test KDF_PBKDF
07e0: 32 2d 53 48 41 32 35 36 2d 31 2e 37 20 7b 50 42  2-SHA256-1.7 {PB
07f0: 4b 44 46 32 2d 53 48 41 32 35 36 7d 20 5c 0a 09  KDF2-SHA256} \..
0800: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 50 42  -constraints {PB
0810: 4b 44 46 32 20 53 48 41 32 35 36 7d 20 5c 0a 09  KDF2 SHA256} \..
0820: 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f  -setup {} \..-bo
0830: 64 79 20 7b 62 69 6e 61 72 79 20 65 6e 63 6f 64  dy {binary encod
0840: 65 20 68 65 78 20 5b 74 6c 73 3a 3a 70 62 6b 64  e hex [tls::pbkd
0850: 66 32 20 2d 64 69 67 65 73 74 20 53 48 41 32 35  f2 -digest SHA25
0860: 36 20 2d 70 61 73 73 77 6f 72 64 20 22 70 61 73  6 -password "pas
0870: 73 77 64 22 20 2d 73 61 6c 74 20 22 73 61 6c 74  swd" -salt "salt
0880: 22 20 2d 69 74 65 72 61 74 69 6f 6e 73 20 31 20  " -iterations 1 
0890: 2d 73 69 7a 65 20 31 32 38 5d 7d 20 5c 0a 09 2d  -size 128]} \..-
08a0: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
08b0: 75 6c 74 20 35 35 61 63 30 34 36 65 35 36 65 33  ult 55ac046e56e3
08c0: 30 38 39 66 65 63 31 36 39 31 63 32 32 35 34 34  089fec1691c22544
08d0: 62 36 30 35 66 39 34 31 38 35 32 31 36 64 64 65  b605f94185216dde
08e0: 30 34 36 35 65 36 38 62 39 64 35 37 63 32 30 64  0465e68b9d57c20d
08f0: 61 63 62 63 34 39 63 61 39 63 63 63 66 31 37 39  acbc49ca9cccf179
0900: 62 36 34 35 39 39 31 36 36 34 62 33 39 64 37 37  b645991664b39d77
0910: 65 66 33 31 37 63 37 31 62 38 34 35 62 31 65 33  ef317c71b845b1e3
0920: 30 62 64 35 30 39 31 31 32 30 34 31 64 33 61 31  0bd509112041d3a1
0930: 39 37 38 33 63 32 39 34 65 38 35 30 31 35 30 33  9783c294e8501503
0940: 39 30 65 31 31 36 30 63 33 34 64 36 32 65 39 36  90e1160c34d62e96
0950: 36 35 64 36 35 39 61 65 34 39 64 33 31 34 35 31  65d659ae49d31451
0960: 30 66 63 39 38 32 37 34 63 63 37 39 36 38 31 39  0fc98274cc796819
0970: 36 38 31 30 34 62 38 66 38 39 32 33 37 65 36 39  68104b8f89237e69
0980: 62 32 64 35 34 39 31 31 31 38 36 38 36 35 38 62  b2d549111868658b
0990: 65 36 32 66 35 39 62 64 37 31 35 63 61 63 34 34  e62f59bd715cac44
09a0: 61 31 31 34 37 65 64 35 33 31 37 63 39 62 61 65  a1147ed5317c9bae
09b0: 36 62 32 61 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  6b2a..tcltest::t
09c0: 65 73 74 20 4b 44 46 5f 50 42 4b 44 46 32 2d 53  est KDF_PBKDF2-S
09d0: 48 41 32 35 36 2d 31 2e 38 20 7b 50 42 4b 44 46  HA256-1.8 {PBKDF
09e0: 32 2d 53 48 41 32 35 36 7d 20 5c 0a 09 2d 63 6f  2-SHA256} \..-co
09f0: 6e 73 74 72 61 69 6e 74 73 20 7b 50 42 4b 44 46  nstraints {PBKDF
0a00: 32 20 53 48 41 32 35 36 7d 20 5c 0a 09 2d 73 65  2 SHA256} \..-se
0a10: 74 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20  tup {} \..-body 
0a20: 7b 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68  {binary encode h
0a30: 65 78 20 5b 74 6c 73 3a 3a 70 62 6b 64 66 32 20  ex [tls::pbkdf2 
0a40: 2d 64 69 67 65 73 74 20 53 48 41 32 35 36 20 2d  -digest SHA256 -
0a50: 70 61 73 73 77 6f 72 64 20 22 50 61 73 73 77 6f  password "Passwo
0a60: 72 64 22 20 2d 73 61 6c 74 20 22 4e 61 43 6c 22  rd" -salt "NaCl"
0a70: 20 2d 69 74 65 72 61 74 69 6f 6e 73 20 38 30 30   -iterations 800
0a80: 30 30 20 2d 73 69 7a 65 20 31 32 38 5d 7d 20 5c  00 -size 128]} \
0a90: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
0aa0: 72 65 73 75 6c 74 20 34 64 64 63 64 38 66 36 30  result 4ddcd8f60
0ab0: 62 39 38 62 65 32 31 38 33 30 63 65 65 35 65 66  b98be21830cee5ef
0ac0: 32 32 37 30 31 66 39 36 34 31 61 34 34 31 38 64  22701f9641a4418d
0ad0: 30 34 63 30 34 31 34 61 65 66 66 30 38 38 37 36  04c0414aeff08876
0ae0: 62 33 34 61 62 35 36 61 31 64 34 32 35 61 31 32  b34ab56a1d425a12
0af0: 32 35 38 33 33 35 34 39 61 64 62 38 34 31 62 35  25833549adb841b5
0b00: 31 63 39 62 33 31 37 36 61 32 37 32 62 64 65 62  1c9b3176a272bdeb
0b10: 62 61 31 64 30 37 38 34 37 38 66 36 32 62 33 39  ba1d078478f62b39
0b20: 37 66 33 33 63 38 64 36 32 61 61 65 38 35 61 31  7f33c8d62aae85a1
0b30: 31 63 64 64 65 38 32 39 64 38 39 63 62 36 66 66  1cdde829d89cb6ff
0b40: 64 31 61 62 30 65 36 33 61 39 38 31 66 38 37 34  d1ab0e63a981f874
0b50: 37 64 32 66 32 66 39 66 65 35 38 37 34 31 36 35  7d2f2f9fe5874165
0b60: 63 38 33 63 31 36 38 64 32 65 65 64 31 64 32 64  c83c168d2eed1d2d
0b70: 35 63 61 34 30 35 32 64 65 63 32 62 65 35 37 31  5ca4052dec2be571
0b80: 35 36 32 33 64 61 30 31 39 62 38 63 30 65 63 38  5623da019b8c0ec8
0b90: 37 64 63 33 36 61 61 37 35 31 63 33 38 66 39 38  7dc36aa751c38f98
0ba0: 39 33 64 31 35 63 33 0a 0a 74 63 6c 74 65 73 74  93d15c3..tcltest
0bb0: 3a 3a 74 65 73 74 20 4b 44 46 5f 50 42 4b 44 46  ::test KDF_PBKDF
0bc0: 32 2d 53 48 41 32 35 36 2d 31 2e 39 20 7b 50 42  2-SHA256-1.9 {PB
0bd0: 4b 44 46 32 2d 53 48 41 32 35 36 7d 20 5c 0a 09  KDF2-SHA256} \..
0be0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 50 42  -constraints {PB
0bf0: 4b 44 46 32 20 53 48 41 32 35 36 7d 20 5c 0a 09  KDF2 SHA256} \..
0c00: 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f  -setup {} \..-bo
0c10: 64 79 20 7b 62 69 6e 61 72 79 20 65 6e 63 6f 64  dy {binary encod
0c20: 65 20 68 65 78 20 5b 74 6c 73 3a 3a 70 62 6b 64  e hex [tls::pbkd
0c30: 66 32 20 2d 64 69 67 65 73 74 20 53 48 41 32 35  f2 -digest SHA25
0c40: 36 20 2d 70 61 73 73 77 6f 72 64 20 22 50 61 73  6 -password "Pas
0c50: 73 77 6f 72 64 22 20 2d 73 61 6c 74 20 22 73 61  sword" -salt "sa
0c60: 5c 30 6c 74 22 20 2d 69 74 65 72 61 74 69 6f 6e  \0lt" -iteration
0c70: 73 20 34 30 39 36 20 2d 73 69 7a 65 20 32 35 36  s 4096 -size 256
0c80: 5d 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61  ]} \..-match exa
0c90: 63 74 20 2d 72 65 73 75 6c 74 20 34 33 36 63 38  ct -result 436c8
0ca0: 32 63 36 61 66 39 30 31 30 62 62 30 66 64 62 32  2c6af9010bb0fdb2
0cb0: 37 34 37 39 31 39 33 34 61 63 37 64 65 65 32 31  74791934ac7dee21
0cc0: 37 34 35 64 64 31 31 66 62 35 37 62 62 39 30 31  745dd11fb57bb901
0cd0: 31 32 61 62 31 38 37 63 34 39 35 61 64 38 32 64  12ab187c495ad82d
0ce0: 66 37 37 36 61 64 37 63 65 66 62 36 30 36 66 33  f776ad7cefb606f3
0cf0: 34 66 65 64 63 61 35 39 62 61 61 35 39 32 32 61  4fedca59baa5922a
0d00: 35 37 66 33 65 39 31 62 63 30 65 31 31 39 36 30  57f3e91bc0e11960
0d10: 64 61 37 65 63 38 37 65 64 30 34 37 31 62 34 35  da7ec87ed0471b45
0d20: 36 61 30 38 30 38 62 36 30 64 66 66 37 35 37 62  6a0808b60dff757b
0d30: 37 64 33 31 33 64 34 30 36 38 62 66 38 64 33 33  7d313d4068bf8d33
0d40: 37 61 39 39 63 61 65 64 65 32 34 66 33 32 34 38  7a99caede24f3248
0d50: 66 38 37 64 31 62 66 31 36 38 39 32 62 37 30 62  f87d1bf16892b70b
0d60: 30 37 36 61 30 37 64 64 31 36 33 61 38 61 30 39  076a07dd163a8a09
0d70: 64 62 37 38 38 61 65 33 34 33 30 30 66 66 32 66  db788ae34300ff2f
0d80: 32 64 30 61 39 32 63 39 65 36 37 38 31 38 36 31  2d0a92c9e6781861
0d90: 38 33 36 32 32 61 36 33 36 66 34 63 62 63 65 31  83622a636f4cbce1
0da0: 35 36 38 30 64 66 65 61 34 36 66 36 64 32 32 34  5680dfea46f6d224
0db0: 65 35 31 63 32 39 39 64 34 39 34 36 61 61 32 34  e51c299d4946aa24
0dc0: 37 31 31 33 33 61 36 34 39 32 38 38 65 65 66 33  71133a649288eef3
0dd0: 65 34 32 32 37 62 36 30 39 63 66 32 30 33 64 62  e4227b609cf203db
0de0: 61 36 35 65 39 66 61 36 39 65 36 33 64 33 35 62  a65e9fa69e63d35b
0df0: 36 66 66 34 33 35 66 66 35 31 36 36 34 63 62 64  6ff435ff51664cbd
0e00: 36 37 37 33 64 37 32 65 62 63 33 34 31 64 32 33  6773d72ebc341d23
0e10: 39 66 30 30 38 34 62 30 30 34 33 38 38 64 36 61  9f0084b004388d6a
0e20: 66 61 35 30 34 65 65 65 36 37 31 39 61 37 61 65  fa504eee6719a7ae
0e30: 31 62 62 39 64 61 66 36 62 37 36 32 38 64 38 35  1bb9daf6b7628d85
0e40: 31 66 61 62 33 33 35 66 31 64 31 33 39 34 38 65  1fab335f1d13948e
0e50: 38 65 65 36 66 37 61 62 30 33 33 61 33 32 64 66  8ee6f7ab033a32df
0e60: 34 34 37 66 38 64 30 39 35 30 38 30 39 61 37 30  447f8d0950809a70
0e70: 30 36 36 36 30 35 64 36 39 36 30 38 34 37 65 64  066605d6960847ed
0e80: 34 33 36 66 61 35 32 63 64 66 62 63 66 32 36 31  436fa52cdfbcf261
0e90: 62 34 34 64 32 61 38 37 30 36 31 0a 0a 74 63 6c  b44d2a87061..tcl
0ea0: 74 65 73 74 3a 3a 74 65 73 74 20 4b 44 46 5f 50  test::test KDF_P
0eb0: 42 4b 44 46 32 2d 53 48 41 32 35 36 2d 31 2e 31  BKDF2-SHA256-1.1
0ec0: 30 20 7b 50 42 4b 44 46 32 2d 53 48 41 32 35 36  0 {PBKDF2-SHA256
0ed0: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
0ee0: 73 20 7b 50 42 4b 44 46 32 20 53 48 41 32 35 36  s {PBKDF2 SHA256
0ef0: 7d 20 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c  } \..-setup {} \
0f00: 0a 09 2d 62 6f 64 79 20 7b 62 69 6e 61 72 79 20  ..-body {binary 
0f10: 65 6e 63 6f 64 65 20 68 65 78 20 5b 74 6c 73 3a  encode hex [tls:
0f20: 3a 70 62 6b 64 66 32 20 2d 64 69 67 65 73 74 20  :pbkdf2 -digest 
0f30: 53 48 41 32 35 36 20 2d 70 61 73 73 77 6f 72 64  SHA256 -password
0f40: 20 22 70 61 73 73 77 64 22 20 2d 73 61 6c 74 20   "passwd" -salt 
0f50: 22 73 61 6c 74 22 20 2d 69 74 65 72 61 74 69 6f  "salt" -iteratio
0f60: 6e 73 20 31 20 2d 73 69 7a 65 20 36 34 5d 7d 20  ns 1 -size 64]} 
0f70: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
0f80: 2d 72 65 73 75 6c 74 20 35 35 61 63 30 34 36 65  -result 55ac046e
0f90: 35 36 65 33 30 38 39 66 65 63 31 36 39 31 63 32  56e3089fec1691c2
0fa0: 32 35 34 34 62 36 30 35 66 39 34 31 38 35 32 31  2544b605f9418521
0fb0: 36 64 64 65 30 34 36 35 65 36 38 62 39 64 35 37  6dde0465e68b9d57
0fc0: 63 32 30 64 61 63 62 63 34 39 63 61 39 63 63 63  c20dacbc49ca9ccc
0fd0: 66 31 37 39 62 36 34 35 39 39 31 36 36 34 62 33  f179b645991664b3
0fe0: 39 64 37 37 65 66 33 31 37 63 37 31 62 38 34 35  9d77ef317c71b845
0ff0: 62 31 65 33 30 62 64 35 30 39 31 31 32 30 34 31  b1e30bd509112041
1000: 64 33 61 31 39 37 38 33 0a 0a 74 63 6c 74 65 73  d3a19783..tcltes
1010: 74 3a 3a 74 65 73 74 20 4b 44 46 5f 50 42 4b 44  t::test KDF_PBKD
1020: 46 32 2d 53 48 41 32 35 36 2d 31 2e 31 31 20 7b  F2-SHA256-1.11 {
1030: 50 42 4b 44 46 32 2d 53 48 41 32 35 36 7d 20 5c  PBKDF2-SHA256} \
1040: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b  ..-constraints {
1050: 50 42 4b 44 46 32 20 53 48 41 32 35 36 7d 20 5c  PBKDF2 SHA256} \
1060: 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d  ..-setup {} \..-
1070: 62 6f 64 79 20 7b 62 69 6e 61 72 79 20 65 6e 63  body {binary enc
1080: 6f 64 65 20 68 65 78 20 5b 74 6c 73 3a 3a 70 62  ode hex [tls::pb
1090: 6b 64 66 32 20 2d 64 69 67 65 73 74 20 53 48 41  kdf2 -digest SHA
10a0: 32 35 36 20 2d 70 61 73 73 77 6f 72 64 20 22 50  256 -password "P
10b0: 61 73 73 77 6f 72 64 22 20 2d 73 61 6c 74 20 22  assword" -salt "
10c0: 4e 61 43 6c 22 20 2d 69 74 65 72 61 74 69 6f 6e  NaCl" -iteration
10d0: 73 20 38 30 30 30 30 20 2d 73 69 7a 65 20 36 34  s 80000 -size 64
10e0: 5d 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61  ]} \..-match exa
10f0: 63 74 20 2d 72 65 73 75 6c 74 20 34 64 64 63 64  ct -result 4ddcd
1100: 38 66 36 30 62 39 38 62 65 32 31 38 33 30 63 65  8f60b98be21830ce
1110: 65 35 65 66 32 32 37 30 31 66 39 36 34 31 61 34  e5ef22701f9641a4
1120: 34 31 38 64 30 34 63 30 34 31 34 61 65 66 66 30  418d04c0414aeff0
1130: 38 38 37 36 62 33 34 61 62 35 36 61 31 64 34 32  8876b34ab56a1d42
1140: 35 61 31 32 32 35 38 33 33 35 34 39 61 64 62 38  5a1225833549adb8
1150: 34 31 62 35 31 63 39 62 33 31 37 36 61 32 37 32  41b51c9b3176a272
1160: 62 64 65 62 62 61 31 64 30 37 38 34 37 38 66 36  bdebba1d078478f6
1170: 32 62 33 39 37 66 33 33 63 38 64 0a 0a 23 20 43  2b397f33c8d..# C
1180: 6c 65 61 6e 75 70 0a 3a 3a 74 63 6c 74 65 73 74  leanup.::tcltest
1190: 3a 3a 63 6c 65 61 6e 75 70 54 65 73 74 73 0a 72  ::cleanupTests.r
11a0: 65 74 75 72 6e 0a                                eturn.