Hex Artifact Content

Artifact 34e71146bcb5cad9a2c957ea97ff5d260b1002b55b09f8da25931f5d52f04739:


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 6c 61 70 70 65 6e  A256.txt".lappen
0030: 64 20 61 75 74 6f 5f 70 61 74 68 20 5b 66 69 6c  d auto_path [fil
0040: 65 20 64 69 72 6e 61 6d 65 20 5b 66 69 6c 65 20  e dirname [file 
0050: 64 69 72 6e 61 6d 65 20 5b 66 69 6c 65 20 64 69  dirname [file di
0060: 72 6e 61 6d 65 20 5b 66 69 6c 65 20 64 69 72 6e  rname [file dirn
0070: 61 6d 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 5b  ame [file join [
0080: 70 77 64 5d 20 5b 69 6e 66 6f 20 73 63 72 69 70  pwd] [info scrip
0090: 74 5d 5d 5d 5d 5d 5d 0a 70 61 63 6b 61 67 65 20  t]]]]]].package 
00a0: 72 65 71 75 69 72 65 20 74 6c 73 0a 70 61 63 6b  require tls.pack
00b0: 61 67 65 20 72 65 71 75 69 72 65 20 74 63 6c 74  age require tclt
00c0: 65 73 74 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  est..tcltest::te
00d0: 73 74 43 6f 6e 73 74 72 61 69 6e 74 20 50 42 4b  stConstraint PBK
00e0: 44 46 32 20 5b 65 78 70 72 20 7b 5b 6c 73 65 61  DF2 [expr {[lsea
00f0: 72 63 68 20 2d 6e 6f 63 61 73 65 20 5b 74 6c 73  rch -nocase [tls
0100: 3a 3a 6b 64 66 73 5d 20 50 42 4b 44 46 32 5d 20  ::kdfs] PBKDF2] 
0110: 3e 20 2d 31 7d 5d 0a 74 63 6c 74 65 73 74 3a 3a  > -1}].tcltest::
0120: 74 65 73 74 43 6f 6e 73 74 72 61 69 6e 74 20 53  testConstraint S
0130: 48 41 32 35 36 20 5b 65 78 70 72 20 7b 5b 6c 73  HA256 [expr {[ls
0140: 65 61 72 63 68 20 2d 6e 6f 63 61 73 65 20 5b 74  earch -nocase [t
0150: 6c 73 3a 3a 64 69 67 65 73 74 73 5d 20 53 48 41  ls::digests] SHA
0160: 32 35 36 5d 20 3e 20 2d 31 7d 5d 0a 63 61 74 63  256] > -1}].catc
0170: 68 20 7b 74 6c 73 3a 3a 70 72 6f 76 69 64 65 72  h {tls::provider
0180: 20 6c 65 67 61 63 79 7d 0a 0a 74 63 6c 74 65 73   legacy}..tcltes
0190: 74 3a 3a 74 65 73 74 20 4b 44 46 5f 50 42 4b 44  t::test KDF_PBKD
01a0: 46 32 2d 53 48 41 32 35 36 2d 31 2e 31 20 7b 50  F2-SHA256-1.1 {P
01b0: 42 4b 44 46 32 2d 53 48 41 32 35 36 7d 20 5c 0a  BKDF2-SHA256} \.
01c0: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 50  .-constraints {P
01d0: 42 4b 44 46 32 20 53 48 41 32 35 36 7d 20 5c 0a  BKDF2 SHA256} \.
01e0: 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d 62  .-setup {} \..-b
01f0: 6f 64 79 20 7b 62 69 6e 61 72 79 20 65 6e 63 6f  ody {binary enco
0200: 64 65 20 68 65 78 20 5b 74 6c 73 3a 3a 70 62 6b  de hex [tls::pbk
0210: 64 66 32 20 2d 64 69 67 65 73 74 20 53 48 41 32  df2 -digest SHA2
0220: 35 36 20 2d 70 61 73 73 77 6f 72 64 20 22 70 61  56 -password "pa
0230: 73 73 77 6f 72 64 22 20 2d 73 61 6c 74 20 22 73  ssword" -salt "s
0240: 61 6c 74 22 20 2d 69 74 65 72 61 74 69 6f 6e 73  alt" -iterations
0250: 20 31 20 2d 73 69 7a 65 20 32 30 5d 7d 20 5c 0a   1 -size 20]} \.
0260: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
0270: 65 73 75 6c 74 20 31 32 30 66 62 36 63 66 66 63  esult 120fb6cffc
0280: 66 38 62 33 32 63 34 33 65 37 32 32 35 32 35 36  f8b32c43e7225256
0290: 63 34 66 38 33 37 61 38 36 35 34 38 63 39 0a 0a  c4f837a86548c9..
02a0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4b 44  tcltest::test KD
02b0: 46 5f 50 42 4b 44 46 32 2d 53 48 41 32 35 36 2d  F_PBKDF2-SHA256-
02c0: 31 2e 32 20 7b 50 42 4b 44 46 32 2d 53 48 41 32  1.2 {PBKDF2-SHA2
02d0: 35 36 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  56} \..-constrai
02e0: 6e 74 73 20 7b 50 42 4b 44 46 32 20 53 48 41 32  nts {PBKDF2 SHA2
02f0: 35 36 7d 20 5c 0a 09 2d 73 65 74 75 70 20 7b 7d  56} \..-setup {}
0300: 20 5c 0a 09 2d 62 6f 64 79 20 7b 62 69 6e 61 72   \..-body {binar
0310: 79 20 65 6e 63 6f 64 65 20 68 65 78 20 5b 74 6c  y encode hex [tl
0320: 73 3a 3a 70 62 6b 64 66 32 20 2d 64 69 67 65 73  s::pbkdf2 -diges
0330: 74 20 53 48 41 32 35 36 20 2d 70 61 73 73 77 6f  t SHA256 -passwo
0340: 72 64 20 22 70 61 73 73 77 6f 72 64 22 20 2d 73  rd "password" -s
0350: 61 6c 74 20 22 73 61 6c 74 22 20 2d 69 74 65 72  alt "salt" -iter
0360: 61 74 69 6f 6e 73 20 32 20 2d 73 69 7a 65 20 32  ations 2 -size 2
0370: 30 5d 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  0]} \..-match ex
0380: 61 63 74 20 2d 72 65 73 75 6c 74 20 61 65 34 64  act -result ae4d
0390: 30 63 39 35 61 66 36 62 34 36 64 33 32 64 30 61  0c95af6b46d32d0a
03a0: 64 66 66 39 32 38 66 30 36 64 64 30 32 61 33 30  dff928f06dd02a30
03b0: 33 66 38 65 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  3f8e..tcltest::t
03c0: 65 73 74 20 4b 44 46 5f 50 42 4b 44 46 32 2d 53  est KDF_PBKDF2-S
03d0: 48 41 32 35 36 2d 31 2e 33 20 7b 50 42 4b 44 46  HA256-1.3 {PBKDF
03e0: 32 2d 53 48 41 32 35 36 7d 20 5c 0a 09 2d 63 6f  2-SHA256} \..-co
03f0: 6e 73 74 72 61 69 6e 74 73 20 7b 50 42 4b 44 46  nstraints {PBKDF
0400: 32 20 53 48 41 32 35 36 7d 20 5c 0a 09 2d 73 65  2 SHA256} \..-se
0410: 74 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20  tup {} \..-body 
0420: 7b 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68  {binary encode h
0430: 65 78 20 5b 74 6c 73 3a 3a 70 62 6b 64 66 32 20  ex [tls::pbkdf2 
0440: 2d 64 69 67 65 73 74 20 53 48 41 32 35 36 20 2d  -digest SHA256 -
0450: 70 61 73 73 77 6f 72 64 20 22 70 61 73 73 77 6f  password "passwo
0460: 72 64 22 20 2d 73 61 6c 74 20 22 73 61 6c 74 22  rd" -salt "salt"
0470: 20 2d 69 74 65 72 61 74 69 6f 6e 73 20 34 30 39   -iterations 409
0480: 36 20 2d 73 69 7a 65 20 32 30 5d 7d 20 5c 0a 09  6 -size 20]} \..
0490: 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65  -match exact -re
04a0: 73 75 6c 74 20 63 35 65 34 37 38 64 35 39 32 38  sult c5e478d5928
04b0: 38 63 38 34 31 61 61 35 33 30 64 62 36 38 34 35  8c841aa530db6845
04c0: 63 34 63 38 64 39 36 32 38 39 33 61 30 0a 0a 74  c4c8d962893a0..t
04d0: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4b 44 46  cltest::test KDF
04e0: 5f 50 42 4b 44 46 32 2d 53 48 41 32 35 36 2d 31  _PBKDF2-SHA256-1
04f0: 2e 34 20 7b 50 42 4b 44 46 32 2d 53 48 41 32 35  .4 {PBKDF2-SHA25
0500: 36 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  6} \..-constrain
0510: 74 73 20 7b 50 42 4b 44 46 32 20 53 48 41 32 35  ts {PBKDF2 SHA25
0520: 36 7d 20 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20  6} \..-setup {} 
0530: 5c 0a 09 2d 62 6f 64 79 20 7b 62 69 6e 61 72 79  \..-body {binary
0540: 20 65 6e 63 6f 64 65 20 68 65 78 20 5b 74 6c 73   encode hex [tls
0550: 3a 3a 70 62 6b 64 66 32 20 2d 64 69 67 65 73 74  ::pbkdf2 -digest
0560: 20 53 48 41 32 35 36 20 2d 70 61 73 73 77 6f 72   SHA256 -passwor
0570: 64 20 22 70 61 73 73 77 6f 72 64 22 20 2d 73 61  d "password" -sa
0580: 6c 74 20 22 73 61 6c 74 22 20 2d 69 74 65 72 61  lt "salt" -itera
0590: 74 69 6f 6e 73 20 31 36 37 37 37 32 31 36 20 2d  tions 16777216 -
05a0: 73 69 7a 65 20 32 30 5d 7d 20 5c 0a 09 2d 6d 61  size 20]} \..-ma
05b0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
05c0: 74 20 63 66 38 31 63 36 36 66 65 38 63 66 63 30  t cf81c66fe8cfc0
05d0: 34 64 31 66 33 31 65 63 62 36 35 64 61 62 34 30  4d1f31ecb65dab40
05e0: 38 39 66 37 66 31 37 39 65 38 0a 0a 74 63 6c 74  89f7f179e8..tclt
05f0: 65 73 74 3a 3a 74 65 73 74 20 4b 44 46 5f 50 42  est::test KDF_PB
0600: 4b 44 46 32 2d 53 48 41 32 35 36 2d 31 2e 35 20  KDF2-SHA256-1.5 
0610: 7b 50 42 4b 44 46 32 2d 53 48 41 32 35 36 7d 20  {PBKDF2-SHA256} 
0620: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
0630: 7b 50 42 4b 44 46 32 20 53 48 41 32 35 36 7d 20  {PBKDF2 SHA256} 
0640: 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09  \..-setup {} \..
0650: 2d 62 6f 64 79 20 7b 62 69 6e 61 72 79 20 65 6e  -body {binary en
0660: 63 6f 64 65 20 68 65 78 20 5b 74 6c 73 3a 3a 70  code hex [tls::p
0670: 62 6b 64 66 32 20 2d 64 69 67 65 73 74 20 53 48  bkdf2 -digest SH
0680: 41 32 35 36 20 2d 70 61 73 73 77 6f 72 64 20 22  A256 -password "
0690: 70 61 73 73 77 6f 72 64 50 41 53 53 57 4f 52 44  passwordPASSWORD
06a0: 70 61 73 73 77 6f 72 64 22 20 2d 73 61 6c 74 20  password" -salt 
06b0: 22 73 61 6c 74 53 41 4c 54 73 61 6c 74 53 41 4c  "saltSALTsaltSAL
06c0: 54 73 61 6c 74 53 41 4c 54 73 61 6c 74 53 41 4c  TsaltSALTsaltSAL
06d0: 54 73 61 6c 74 22 20 2d 69 74 65 72 61 74 69 6f  Tsalt" -iteratio
06e0: 6e 73 20 34 30 39 36 20 2d 73 69 7a 65 20 32 35  ns 4096 -size 25
06f0: 5d 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61  ]} \..-match exa
0700: 63 74 20 2d 72 65 73 75 6c 74 20 33 34 38 63 38  ct -result 348c8
0710: 39 64 62 63 62 64 33 32 62 32 66 33 32 64 38 31  9dbcbd32b2f32d81
0720: 34 62 38 31 31 36 65 38 34 63 66 32 62 31 37 33  4b8116e84cf2b173
0730: 34 37 65 62 63 31 38 30 30 31 38 31 63 0a 0a 74  47ebc1800181c..t
0740: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4b 44 46  cltest::test KDF
0750: 5f 50 42 4b 44 46 32 2d 53 48 41 32 35 36 2d 31  _PBKDF2-SHA256-1
0760: 2e 36 20 7b 50 42 4b 44 46 32 2d 53 48 41 32 35  .6 {PBKDF2-SHA25
0770: 36 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  6} \..-constrain
0780: 74 73 20 7b 50 42 4b 44 46 32 20 53 48 41 32 35  ts {PBKDF2 SHA25
0790: 36 7d 20 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20  6} \..-setup {} 
07a0: 5c 0a 09 2d 62 6f 64 79 20 7b 62 69 6e 61 72 79  \..-body {binary
07b0: 20 65 6e 63 6f 64 65 20 68 65 78 20 5b 74 6c 73   encode hex [tls
07c0: 3a 3a 70 62 6b 64 66 32 20 2d 64 69 67 65 73 74  ::pbkdf2 -digest
07d0: 20 53 48 41 32 35 36 20 2d 70 61 73 73 77 6f 72   SHA256 -passwor
07e0: 64 20 22 70 61 73 73 5c 30 77 6f 72 64 22 20 2d  d "pass\0word" -
07f0: 73 61 6c 74 20 22 73 61 5c 30 6c 74 22 20 2d 69  salt "sa\0lt" -i
0800: 74 65 72 61 74 69 6f 6e 73 20 34 30 39 36 20 2d  terations 4096 -
0810: 73 69 7a 65 20 31 36 5d 7d 20 5c 0a 09 2d 6d 61  size 16]} \..-ma
0820: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
0830: 74 20 38 39 62 36 39 64 30 35 31 36 66 38 32 39  t 89b69d0516f829
0840: 38 39 33 63 36 39 36 32 32 36 36 35 30 61 38 36  893c696226650a86
0850: 38 37 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  87..tcltest::tes
0860: 74 20 4b 44 46 5f 50 42 4b 44 46 32 2d 53 48 41  t KDF_PBKDF2-SHA
0870: 32 35 36 2d 31 2e 37 20 7b 50 42 4b 44 46 32 2d  256-1.7 {PBKDF2-
0880: 53 48 41 32 35 36 7d 20 5c 0a 09 2d 63 6f 6e 73  SHA256} \..-cons
0890: 74 72 61 69 6e 74 73 20 7b 50 42 4b 44 46 32 20  traints {PBKDF2 
08a0: 53 48 41 32 35 36 7d 20 5c 0a 09 2d 73 65 74 75  SHA256} \..-setu
08b0: 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 62  p {} \..-body {b
08c0: 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68 65 78  inary encode hex
08d0: 20 5b 74 6c 73 3a 3a 70 62 6b 64 66 32 20 2d 64   [tls::pbkdf2 -d
08e0: 69 67 65 73 74 20 53 48 41 32 35 36 20 2d 70 61  igest SHA256 -pa
08f0: 73 73 77 6f 72 64 20 22 70 61 73 73 77 64 22 20  ssword "passwd" 
0900: 2d 73 61 6c 74 20 22 73 61 6c 74 22 20 2d 69 74  -salt "salt" -it
0910: 65 72 61 74 69 6f 6e 73 20 31 20 2d 73 69 7a 65  erations 1 -size
0920: 20 31 32 38 5d 7d 20 5c 0a 09 2d 6d 61 74 63 68   128]} \..-match
0930: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 35   exact -result 5
0940: 35 61 63 30 34 36 65 35 36 65 33 30 38 39 66 65  5ac046e56e3089fe
0950: 63 31 36 39 31 63 32 32 35 34 34 62 36 30 35 66  c1691c22544b605f
0960: 39 34 31 38 35 32 31 36 64 64 65 30 34 36 35 65  94185216dde0465e
0970: 36 38 62 39 64 35 37 63 32 30 64 61 63 62 63 34  68b9d57c20dacbc4
0980: 39 63 61 39 63 63 63 66 31 37 39 62 36 34 35 39  9ca9cccf179b6459
0990: 39 31 36 36 34 62 33 39 64 37 37 65 66 33 31 37  91664b39d77ef317
09a0: 63 37 31 62 38 34 35 62 31 65 33 30 62 64 35 30  c71b845b1e30bd50
09b0: 39 31 31 32 30 34 31 64 33 61 31 39 37 38 33 63  9112041d3a19783c
09c0: 32 39 34 65 38 35 30 31 35 30 33 39 30 65 31 31  294e850150390e11
09d0: 36 30 63 33 34 64 36 32 65 39 36 36 35 64 36 35  60c34d62e9665d65
09e0: 39 61 65 34 39 64 33 31 34 35 31 30 66 63 39 38  9ae49d314510fc98
09f0: 32 37 34 63 63 37 39 36 38 31 39 36 38 31 30 34  274cc79681968104
0a00: 62 38 66 38 39 32 33 37 65 36 39 62 32 64 35 34  b8f89237e69b2d54
0a10: 39 31 31 31 38 36 38 36 35 38 62 65 36 32 66 35  9111868658be62f5
0a20: 39 62 64 37 31 35 63 61 63 34 34 61 31 31 34 37  9bd715cac44a1147
0a30: 65 64 35 33 31 37 63 39 62 61 65 36 62 32 61 0a  ed5317c9bae6b2a.
0a40: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4b  .tcltest::test K
0a50: 44 46 5f 50 42 4b 44 46 32 2d 53 48 41 32 35 36  DF_PBKDF2-SHA256
0a60: 2d 31 2e 38 20 7b 50 42 4b 44 46 32 2d 53 48 41  -1.8 {PBKDF2-SHA
0a70: 32 35 36 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  256} \..-constra
0a80: 69 6e 74 73 20 7b 50 42 4b 44 46 32 20 53 48 41  ints {PBKDF2 SHA
0a90: 32 35 36 7d 20 5c 0a 09 2d 73 65 74 75 70 20 7b  256} \..-setup {
0aa0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 62 69 6e 61  } \..-body {bina
0ab0: 72 79 20 65 6e 63 6f 64 65 20 68 65 78 20 5b 74  ry encode hex [t
0ac0: 6c 73 3a 3a 70 62 6b 64 66 32 20 2d 64 69 67 65  ls::pbkdf2 -dige
0ad0: 73 74 20 53 48 41 32 35 36 20 2d 70 61 73 73 77  st SHA256 -passw
0ae0: 6f 72 64 20 22 50 61 73 73 77 6f 72 64 22 20 2d  ord "Password" -
0af0: 73 61 6c 74 20 22 4e 61 43 6c 22 20 2d 69 74 65  salt "NaCl" -ite
0b00: 72 61 74 69 6f 6e 73 20 38 30 30 30 30 20 2d 73  rations 80000 -s
0b10: 69 7a 65 20 31 32 38 5d 7d 20 5c 0a 09 2d 6d 61  ize 128]} \..-ma
0b20: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
0b30: 74 20 34 64 64 63 64 38 66 36 30 62 39 38 62 65  t 4ddcd8f60b98be
0b40: 32 31 38 33 30 63 65 65 35 65 66 32 32 37 30 31  21830cee5ef22701
0b50: 66 39 36 34 31 61 34 34 31 38 64 30 34 63 30 34  f9641a4418d04c04
0b60: 31 34 61 65 66 66 30 38 38 37 36 62 33 34 61 62  14aeff08876b34ab
0b70: 35 36 61 31 64 34 32 35 61 31 32 32 35 38 33 33  56a1d425a1225833
0b80: 35 34 39 61 64 62 38 34 31 62 35 31 63 39 62 33  549adb841b51c9b3
0b90: 31 37 36 61 32 37 32 62 64 65 62 62 61 31 64 30  176a272bdebba1d0
0ba0: 37 38 34 37 38 66 36 32 62 33 39 37 66 33 33 63  78478f62b397f33c
0bb0: 38 64 36 32 61 61 65 38 35 61 31 31 63 64 64 65  8d62aae85a11cdde
0bc0: 38 32 39 64 38 39 63 62 36 66 66 64 31 61 62 30  829d89cb6ffd1ab0
0bd0: 65 36 33 61 39 38 31 66 38 37 34 37 64 32 66 32  e63a981f8747d2f2
0be0: 66 39 66 65 35 38 37 34 31 36 35 63 38 33 63 31  f9fe5874165c83c1
0bf0: 36 38 64 32 65 65 64 31 64 32 64 35 63 61 34 30  68d2eed1d2d5ca40
0c00: 35 32 64 65 63 32 62 65 35 37 31 35 36 32 33 64  52dec2be5715623d
0c10: 61 30 31 39 62 38 63 30 65 63 38 37 64 63 33 36  a019b8c0ec87dc36
0c20: 61 61 37 35 31 63 33 38 66 39 38 39 33 64 31 35  aa751c38f9893d15
0c30: 63 33 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  c3..tcltest::tes
0c40: 74 20 4b 44 46 5f 50 42 4b 44 46 32 2d 53 48 41  t KDF_PBKDF2-SHA
0c50: 32 35 36 2d 31 2e 39 20 7b 50 42 4b 44 46 32 2d  256-1.9 {PBKDF2-
0c60: 53 48 41 32 35 36 7d 20 5c 0a 09 2d 63 6f 6e 73  SHA256} \..-cons
0c70: 74 72 61 69 6e 74 73 20 7b 50 42 4b 44 46 32 20  traints {PBKDF2 
0c80: 53 48 41 32 35 36 7d 20 5c 0a 09 2d 73 65 74 75  SHA256} \..-setu
0c90: 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 62  p {} \..-body {b
0ca0: 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68 65 78  inary encode hex
0cb0: 20 5b 74 6c 73 3a 3a 70 62 6b 64 66 32 20 2d 64   [tls::pbkdf2 -d
0cc0: 69 67 65 73 74 20 53 48 41 32 35 36 20 2d 70 61  igest SHA256 -pa
0cd0: 73 73 77 6f 72 64 20 22 50 61 73 73 77 6f 72 64  ssword "Password
0ce0: 22 20 2d 73 61 6c 74 20 22 73 61 5c 30 6c 74 22  " -salt "sa\0lt"
0cf0: 20 2d 69 74 65 72 61 74 69 6f 6e 73 20 34 30 39   -iterations 409
0d00: 36 20 2d 73 69 7a 65 20 32 35 36 5d 7d 20 5c 0a  6 -size 256]} \.
0d10: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
0d20: 65 73 75 6c 74 20 34 33 36 63 38 32 63 36 61 66  esult 436c82c6af
0d30: 39 30 31 30 62 62 30 66 64 62 32 37 34 37 39 31  9010bb0fdb274791
0d40: 39 33 34 61 63 37 64 65 65 32 31 37 34 35 64 64  934ac7dee21745dd
0d50: 31 31 66 62 35 37 62 62 39 30 31 31 32 61 62 31  11fb57bb90112ab1
0d60: 38 37 63 34 39 35 61 64 38 32 64 66 37 37 36 61  87c495ad82df776a
0d70: 64 37 63 65 66 62 36 30 36 66 33 34 66 65 64 63  d7cefb606f34fedc
0d80: 61 35 39 62 61 61 35 39 32 32 61 35 37 66 33 65  a59baa5922a57f3e
0d90: 39 31 62 63 30 65 31 31 39 36 30 64 61 37 65 63  91bc0e11960da7ec
0da0: 38 37 65 64 30 34 37 31 62 34 35 36 61 30 38 30  87ed0471b456a080
0db0: 38 62 36 30 64 66 66 37 35 37 62 37 64 33 31 33  8b60dff757b7d313
0dc0: 64 34 30 36 38 62 66 38 64 33 33 37 61 39 39 63  d4068bf8d337a99c
0dd0: 61 65 64 65 32 34 66 33 32 34 38 66 38 37 64 31  aede24f3248f87d1
0de0: 62 66 31 36 38 39 32 62 37 30 62 30 37 36 61 30  bf16892b70b076a0
0df0: 37 64 64 31 36 33 61 38 61 30 39 64 62 37 38 38  7dd163a8a09db788
0e00: 61 65 33 34 33 30 30 66 66 32 66 32 64 30 61 39  ae34300ff2f2d0a9
0e10: 32 63 39 65 36 37 38 31 38 36 31 38 33 36 32 32  2c9e678186183622
0e20: 61 36 33 36 66 34 63 62 63 65 31 35 36 38 30 64  a636f4cbce15680d
0e30: 66 65 61 34 36 66 36 64 32 32 34 65 35 31 63 32  fea46f6d224e51c2
0e40: 39 39 64 34 39 34 36 61 61 32 34 37 31 31 33 33  99d4946aa2471133
0e50: 61 36 34 39 32 38 38 65 65 66 33 65 34 32 32 37  a649288eef3e4227
0e60: 62 36 30 39 63 66 32 30 33 64 62 61 36 35 65 39  b609cf203dba65e9
0e70: 66 61 36 39 65 36 33 64 33 35 62 36 66 66 34 33  fa69e63d35b6ff43
0e80: 35 66 66 35 31 36 36 34 63 62 64 36 37 37 33 64  5ff51664cbd6773d
0e90: 37 32 65 62 63 33 34 31 64 32 33 39 66 30 30 38  72ebc341d239f008
0ea0: 34 62 30 30 34 33 38 38 64 36 61 66 61 35 30 34  4b004388d6afa504
0eb0: 65 65 65 36 37 31 39 61 37 61 65 31 62 62 39 64  eee6719a7ae1bb9d
0ec0: 61 66 36 62 37 36 32 38 64 38 35 31 66 61 62 33  af6b7628d851fab3
0ed0: 33 35 66 31 64 31 33 39 34 38 65 38 65 65 36 66  35f1d13948e8ee6f
0ee0: 37 61 62 30 33 33 61 33 32 64 66 34 34 37 66 38  7ab033a32df447f8
0ef0: 64 30 39 35 30 38 30 39 61 37 30 30 36 36 36 30  d0950809a7006660
0f00: 35 64 36 39 36 30 38 34 37 65 64 34 33 36 66 61  5d6960847ed436fa
0f10: 35 32 63 64 66 62 63 66 32 36 31 62 34 34 64 32  52cdfbcf261b44d2
0f20: 61 38 37 30 36 31 0a 0a 74 63 6c 74 65 73 74 3a  a87061..tcltest:
0f30: 3a 74 65 73 74 20 4b 44 46 5f 50 42 4b 44 46 32  :test KDF_PBKDF2
0f40: 2d 53 48 41 32 35 36 2d 31 2e 31 30 20 7b 50 42  -SHA256-1.10 {PB
0f50: 4b 44 46 32 2d 53 48 41 32 35 36 7d 20 5c 0a 09  KDF2-SHA256} \..
0f60: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 50 42  -constraints {PB
0f70: 4b 44 46 32 20 53 48 41 32 35 36 7d 20 5c 0a 09  KDF2 SHA256} \..
0f80: 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f  -setup {} \..-bo
0f90: 64 79 20 7b 62 69 6e 61 72 79 20 65 6e 63 6f 64  dy {binary encod
0fa0: 65 20 68 65 78 20 5b 74 6c 73 3a 3a 70 62 6b 64  e hex [tls::pbkd
0fb0: 66 32 20 2d 64 69 67 65 73 74 20 53 48 41 32 35  f2 -digest SHA25
0fc0: 36 20 2d 70 61 73 73 77 6f 72 64 20 22 70 61 73  6 -password "pas
0fd0: 73 77 64 22 20 2d 73 61 6c 74 20 22 73 61 6c 74  swd" -salt "salt
0fe0: 22 20 2d 69 74 65 72 61 74 69 6f 6e 73 20 31 20  " -iterations 1 
0ff0: 2d 73 69 7a 65 20 36 34 5d 7d 20 5c 0a 09 2d 6d  -size 64]} \..-m
1000: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
1010: 6c 74 20 35 35 61 63 30 34 36 65 35 36 65 33 30  lt 55ac046e56e30
1020: 38 39 66 65 63 31 36 39 31 63 32 32 35 34 34 62  89fec1691c22544b
1030: 36 30 35 66 39 34 31 38 35 32 31 36 64 64 65 30  605f94185216dde0
1040: 34 36 35 65 36 38 62 39 64 35 37 63 32 30 64 61  465e68b9d57c20da
1050: 63 62 63 34 39 63 61 39 63 63 63 66 31 37 39 62  cbc49ca9cccf179b
1060: 36 34 35 39 39 31 36 36 34 62 33 39 64 37 37 65  645991664b39d77e
1070: 66 33 31 37 63 37 31 62 38 34 35 62 31 65 33 30  f317c71b845b1e30
1080: 62 64 35 30 39 31 31 32 30 34 31 64 33 61 31 39  bd509112041d3a19
1090: 37 38 33 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  783..tcltest::te
10a0: 73 74 20 4b 44 46 5f 50 42 4b 44 46 32 2d 53 48  st KDF_PBKDF2-SH
10b0: 41 32 35 36 2d 31 2e 31 31 20 7b 50 42 4b 44 46  A256-1.11 {PBKDF
10c0: 32 2d 53 48 41 32 35 36 7d 20 5c 0a 09 2d 63 6f  2-SHA256} \..-co
10d0: 6e 73 74 72 61 69 6e 74 73 20 7b 50 42 4b 44 46  nstraints {PBKDF
10e0: 32 20 53 48 41 32 35 36 7d 20 5c 0a 09 2d 73 65  2 SHA256} \..-se
10f0: 74 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20  tup {} \..-body 
1100: 7b 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68  {binary encode h
1110: 65 78 20 5b 74 6c 73 3a 3a 70 62 6b 64 66 32 20  ex [tls::pbkdf2 
1120: 2d 64 69 67 65 73 74 20 53 48 41 32 35 36 20 2d  -digest SHA256 -
1130: 70 61 73 73 77 6f 72 64 20 22 50 61 73 73 77 6f  password "Passwo
1140: 72 64 22 20 2d 73 61 6c 74 20 22 4e 61 43 6c 22  rd" -salt "NaCl"
1150: 20 2d 69 74 65 72 61 74 69 6f 6e 73 20 38 30 30   -iterations 800
1160: 30 30 20 2d 73 69 7a 65 20 36 34 5d 7d 20 5c 0a  00 -size 64]} \.
1170: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
1180: 65 73 75 6c 74 20 34 64 64 63 64 38 66 36 30 62  esult 4ddcd8f60b
1190: 39 38 62 65 32 31 38 33 30 63 65 65 35 65 66 32  98be21830cee5ef2
11a0: 32 37 30 31 66 39 36 34 31 61 34 34 31 38 64 30  2701f9641a4418d0
11b0: 34 63 30 34 31 34 61 65 66 66 30 38 38 37 36 62  4c0414aeff08876b
11c0: 33 34 61 62 35 36 61 31 64 34 32 35 61 31 32 32  34ab56a1d425a122
11d0: 35 38 33 33 35 34 39 61 64 62 38 34 31 62 35 31  5833549adb841b51
11e0: 63 39 62 33 31 37 36 61 32 37 32 62 64 65 62 62  c9b3176a272bdebb
11f0: 61 31 64 30 37 38 34 37 38 66 36 32 62 33 39 37  a1d078478f62b397
1200: 66 33 33 63 38 64 0a 0a 23 20 43 6c 65 61 6e 75  f33c8d..# Cleanu
1210: 70 0a 3a 3a 74 63 6c 74 65 73 74 3a 3a 63 6c 65  p.::tcltest::cle
1220: 61 6e 75 70 54 65 73 74 73 0a 72 65 74 75 72 6e  anupTests.return
1230: 0a                                               .