Hex Artifact Content

Artifact bd47bed6009ef58b3408f1142e7d7438018fdf8ec38dd7486c372e8cf4312329:


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 53 48 41 35 31 32 53 68 6f   from "SHA512Sho
0020: 72 74 4d 73 67 2e 72 73 70 22 0a 70 61 63 6b 61  rtMsg.rsp".packa
0030: 67 65 20 72 65 71 75 69 72 65 20 74 6c 73 0a 70  ge require tls.p
0040: 61 63 6b 61 67 65 20 72 65 71 75 69 72 65 20 74  ackage require t
0050: 63 6c 74 65 73 74 0a 0a 74 63 6c 74 65 73 74 3a  cltest..tcltest:
0060: 3a 74 65 73 74 43 6f 6e 73 74 72 61 69 6e 74 20  :testConstraint 
0070: 53 48 41 35 31 32 20 5b 65 78 70 72 20 7b 5b 6c  SHA512 [expr {[l
0080: 73 65 61 72 63 68 20 2d 6e 6f 63 61 73 65 20 5b  search -nocase [
0090: 74 6c 73 3a 3a 64 69 67 65 73 74 73 5d 20 53 48  tls::digests] SH
00a0: 41 35 31 32 5d 20 3e 20 2d 31 7d 5d 0a 0a 74 63  A512] > -1}]..tc
00b0: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
00c0: 5f 53 48 41 35 31 32 2d 32 2e 31 20 7b 53 48 41  _SHA512-2.1 {SHA
00d0: 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  512ShortMsg} \..
00e0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
00f0: 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73  512 \..-setup {s
0100: 65 74 20 64 61 74 61 20 22 22 7d 20 5c 0a 09 2d  et data ""} \..-
0110: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
0120: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
0130: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
0140: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
0150: 65 73 75 6c 74 20 63 66 38 33 65 31 33 35 37 65  esult cf83e1357e
0160: 65 66 62 38 62 64 66 31 35 34 32 38 35 30 64 36  efb8bdf1542850d6
0170: 36 64 38 30 30 37 64 36 32 30 65 34 30 35 30 62  6d8007d620e4050b
0180: 35 37 31 35 64 63 38 33 66 34 61 39 32 31 64 33  5715dc83f4a921d3
0190: 36 63 65 39 63 65 34 37 64 30 64 31 33 63 35 64  6ce9ce47d0d13c5d
01a0: 38 35 66 32 62 30 66 66 38 33 31 38 64 32 38 37  85f2b0ff8318d287
01b0: 37 65 65 63 32 66 36 33 62 39 33 31 62 64 34 37  7eec2f63b931bd47
01c0: 34 31 37 61 38 31 61 35 33 38 33 32 37 61 66 39  417a81a538327af9
01d0: 32 37 64 61 33 65 0a 0a 74 63 6c 74 65 73 74 3a  27da3e..tcltest:
01e0: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
01f0: 32 2d 32 2e 32 20 7b 53 48 41 35 31 32 53 68 6f  2-2.2 {SHA512Sho
0200: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
0210: 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c 0a  raints SHA512 \.
0220: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
0230: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
0240: 20 68 65 78 20 32 31 5d 7d 20 5c 0a 09 2d 62 6f   hex 21]} \..-bo
0250: 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20  dy {tls::digest 
0260: 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 20 2d  -digest SHA512 -
0270: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
0280: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
0290: 75 6c 74 20 33 38 33 31 61 36 61 36 31 35 35 65  ult 3831a6a6155e
02a0: 35 30 39 64 65 65 35 39 61 37 66 34 35 31 65 62  509dee59a7f451eb
02b0: 33 35 33 32 34 64 38 66 38 66 32 64 66 36 65 33  35324d8f8f2df6e3
02c0: 37 30 38 38 39 34 37 34 30 66 39 38 66 64 65 65  708894740f98fdee
02d0: 32 33 38 38 39 66 34 64 65 35 61 64 62 30 63 35  23889f4de5adb0c5
02e0: 30 31 30 64 66 62 35 35 35 63 64 61 37 37 63 38  010dfb555cda77c8
02f0: 61 62 35 64 63 39 30 32 30 39 34 63 35 32 64 65  ab5dc902094c52de
0300: 33 32 37 38 66 33 35 61 37 35 65 62 63 32 35 66  3278f35a75ebc25f
0310: 30 39 33 61 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  093a..tcltest::t
0320: 65 73 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d  est Hash_SHA512-
0330: 32 2e 33 20 7b 53 48 41 35 31 32 53 68 6f 72 74  2.3 {SHA512Short
0340: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
0350: 69 6e 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d  ints SHA512 \..-
0360: 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20  setup {set data 
0370: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
0380: 65 78 20 39 30 38 33 5d 7d 20 5c 0a 09 2d 62 6f  ex 9083]} \..-bo
0390: 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20  dy {tls::digest 
03a0: 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 20 2d  -digest SHA512 -
03b0: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
03c0: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
03d0: 75 6c 74 20 35 35 35 38 36 65 62 62 61 34 38 37  ult 55586ebba487
03e0: 36 38 61 65 62 33 32 33 36 35 35 61 62 36 66 34  68aeb323655ab6f4
03f0: 32 39 38 66 63 39 66 36 37 30 39 36 34 66 63 32  298fc9f670964fc2
0400: 65 35 66 32 37 33 31 65 33 34 64 66 61 34 62 30  e5f2731e34dfa4b0
0410: 63 30 39 65 36 65 31 65 31 32 65 33 64 37 32 38  c09e6e1e12e3d728
0420: 36 62 33 31 34 35 63 36 31 63 32 30 34 37 66 62  6b3145c61c2047fb
0430: 31 61 32 61 31 32 39 37 66 33 36 64 61 36 34 31  1a2a1297f36da641
0440: 36 30 62 33 31 66 61 34 63 38 63 32 63 64 64 64  60b31fa4c8c2cddd
0450: 32 66 62 34 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  2fb4..tcltest::t
0460: 65 73 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d  est Hash_SHA512-
0470: 32 2e 34 20 7b 53 48 41 35 31 32 53 68 6f 72 74  2.4 {SHA512Short
0480: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
0490: 69 6e 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d  ints SHA512 \..-
04a0: 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20  setup {set data 
04b0: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
04c0: 65 78 20 30 61 35 35 64 62 5d 7d 20 5c 0a 09 2d  ex 0a55db]} \..-
04d0: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
04e0: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
04f0: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
0500: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
0510: 65 73 75 6c 74 20 37 39 35 32 35 38 35 65 35 33  esult 7952585e53
0520: 33 30 63 62 32 34 37 64 37 32 62 61 65 36 39 36  30cb247d72bae696
0530: 66 63 38 61 36 62 30 66 37 64 30 38 30 34 35 37  fc8a6b0f7d080457
0540: 37 65 33 34 37 64 39 39 62 63 31 62 31 31 65 35  7e347d99bc1b11e5
0550: 32 66 33 38 34 39 38 35 61 34 32 38 34 34 39 33  2f384985a4284493
0560: 38 32 33 30 36 61 38 39 32 36 31 61 65 31 34 33  82306a89261ae143
0570: 63 32 66 33 66 62 36 31 33 38 30 34 61 62 32 30  c2f3fb613804ab20
0580: 62 34 32 64 63 30 39 37 65 35 62 66 34 61 39 36  b42dc097e5bf4a96
0590: 65 66 39 31 39 62 0a 0a 74 63 6c 74 65 73 74 3a  ef919b..tcltest:
05a0: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
05b0: 32 2d 32 2e 35 20 7b 53 48 41 35 31 32 53 68 6f  2-2.5 {SHA512Sho
05c0: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
05d0: 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c 0a  raints SHA512 \.
05e0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
05f0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
0600: 20 68 65 78 20 32 33 62 65 38 36 64 35 5d 7d 20   hex 23be86d5]} 
0610: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
0620: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
0630: 41 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61  A512 -data $data
0640: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
0650: 74 20 2d 72 65 73 75 6c 74 20 37 36 64 34 32 63  t -result 76d42c
0660: 38 65 61 64 65 61 33 35 61 36 39 39 39 30 63 36  8eadea35a69990c6
0670: 33 61 37 36 32 66 33 33 30 36 31 34 61 34 36 39  3a762f330614a469
0680: 39 39 37 37 66 30 35 38 61 64 62 39 38 38 66 34  9977f058adb988f4
0690: 30 36 66 62 30 62 65 38 66 32 65 61 33 64 63 65  06fb0be8f2ea3dce
06a0: 33 61 32 62 62 64 31 64 38 32 37 62 37 30 62 39  3a2bbd1d827b70b9
06b0: 62 32 39 39 61 65 36 66 39 65 35 30 35 38 65 65  b299ae6f9e5058ee
06c0: 39 37 62 35 30 62 64 34 39 32 32 64 36 64 33 37  97b50bd4922d6d37
06d0: 64 64 63 37 36 31 66 38 65 62 0a 0a 74 63 6c 74  ddc761f8eb..tclt
06e0: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
06f0: 48 41 35 31 32 2d 32 2e 36 20 7b 53 48 41 35 31  HA512-2.6 {SHA51
0700: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
0710: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
0720: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
0730: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
0740: 63 6f 64 65 20 68 65 78 20 65 62 30 63 61 39 34  code hex eb0ca94
0750: 36 63 31 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  6c1]} \..-body {
0760: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
0770: 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74 61  est SHA512 -data
0780: 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63   $data} \..-matc
0790: 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20  h exact -result 
07a0: 64 33 39 65 63 65 64 66 65 36 65 37 30 35 61 38  d39ecedfe6e705a8
07b0: 32 31 61 65 65 34 66 35 38 62 66 63 34 38 39 63  21aee4f58bfc489c
07c0: 33 64 39 34 33 33 65 62 34 61 63 31 62 30 33 61  3d9433eb4ac1b03a
07d0: 39 37 65 33 32 31 61 32 35 38 36 62 34 30 64 64  97e321a2586b40dd
07e0: 30 35 32 32 66 34 30 66 61 35 61 65 66 33 36 61  0522f40fa5aef36a
07f0: 66 66 66 35 39 31 61 37 38 63 39 31 36 62 66 63  fff591a78c916bfc
0800: 36 64 31 63 61 35 31 35 63 34 39 38 33 64 64 38  6d1ca515c4983dd8
0810: 36 39 35 62 31 65 63 37 39 35 31 64 37 32 33 65  695b1ec7951d723e
0820: 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20  ..tcltest::test 
0830: 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 37 20  Hash_SHA512-2.7 
0840: 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d  {SHA512ShortMsg}
0850: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73   \..-constraints
0860: 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75   SHA512 \..-setu
0870: 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e  p {set data [bin
0880: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 33  ary decode hex 3
0890: 38 36 36 37 66 33 39 32 37 37 62 5d 7d 20 5c 0a  8667f39277b]} \.
08a0: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
08b0: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
08c0: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
08d0: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
08e0: 2d 72 65 73 75 6c 74 20 38 35 37 30 38 62 38 66  -result 85708b8f
08f0: 66 30 35 64 39 37 34 64 36 61 66 30 38 30 31 63  f05d974d6af0801c
0900: 31 35 32 62 39 35 66 35 66 61 35 63 30 36 61 66  152b95f5fa5c06af
0910: 39 61 33 35 32 33 30 63 35 62 65 61 32 37 35 32  9a35230c5bea2752
0920: 66 30 33 31 66 39 62 64 38 34 62 64 38 34 34 37  f031f9bd84bd8447
0930: 31 37 62 33 61 64 64 33 30 38 61 37 30 64 63 37  17b3add308a70dc7
0940: 37 37 66 39 30 38 31 33 63 32 30 62 34 37 62 31  77f90813c20b47b1
0950: 36 33 38 35 36 36 34 65 65 66 63 38 38 34 34 39  6385664eefc88449
0960: 66 30 34 66 32 31 33 31 0a 0a 74 63 6c 74 65 73  f04f2131..tcltes
0970: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
0980: 35 31 32 2d 32 2e 38 20 7b 53 48 41 35 31 32 53  512-2.8 {SHA512S
0990: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
09a0: 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20  straints SHA512 
09b0: 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64  \..-setup {set d
09c0: 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  ata [binary deco
09d0: 64 65 20 68 65 78 20 62 33 39 66 37 31 61 61 61  de hex b39f71aaa
09e0: 38 61 31 30 38 5d 7d 20 5c 0a 09 2d 62 6f 64 79  8a108]} \..-body
09f0: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
0a00: 69 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61  igest SHA512 -da
0a10: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
0a20: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
0a30: 74 20 32 35 38 62 38 65 66 61 30 35 62 34 61 30  t 258b8efa05b4a0
0a40: 36 62 31 65 36 33 63 37 61 33 66 39 32 35 63 35  6b1e63c7a3f925c5
0a50: 65 66 31 31 66 61 30 33 65 33 64 34 37 64 36 33  ef11fa03e3d47d63
0a60: 31 62 66 34 64 34 37 34 39 38 33 37 38 33 64 38  1bf4d474983783d8
0a70: 63 30 62 30 39 34 34 39 30 30 39 65 38 34 32 66  c0b09449009e842f
0a80: 63 39 66 61 31 35 64 65 35 38 36 63 36 37 63 66  c9fa15de586c67cf
0a90: 38 39 35 35 61 31 37 64 37 39 30 62 32 30 66 34  8955a17d790b20f4
0aa0: 31 64 61 64 66 36 37 65 65 38 63 64 63 64 66 63  1dadf67ee8cdcdfc
0ab0: 65 36 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  e6..tcltest::tes
0ac0: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e  t Hash_SHA512-2.
0ad0: 39 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  9 {SHA512ShortMs
0ae0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
0af0: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
0b00: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
0b10: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
0b20: 20 36 66 38 64 35 38 62 37 63 61 62 31 38 38 38   6f8d58b7cab1888
0b30: 63 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  c]} \..-body {tl
0b40: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
0b50: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
0b60: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
0b70: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 61 33  exact -result a3
0b80: 39 34 31 64 65 66 32 38 30 33 63 38 64 66 63 30  941def2803c8dfc0
0b90: 38 66 32 30 63 30 36 62 61 37 65 39 61 33 33 32  8f20c06ba7e9a332
0ba0: 61 65 30 63 36 37 65 34 37 61 65 35 37 33 36 35  ae0c67e47ae57365
0bb0: 63 32 34 33 65 66 34 30 30 35 39 62 31 31 62 65  c243ef40059b11be
0bc0: 32 32 63 39 31 64 61 36 61 38 30 63 32 63 66 66  22c91da6a80c2cff
0bd0: 30 37 34 32 61 38 66 34 62 63 64 39 34 31 62 64  0742a8f4bcd941bd
0be0: 65 65 30 62 38 36 31 65 63 38 37 32 62 32 31 35  ee0b861ec872b215
0bf0: 34 33 33 63 65 38 64 63 66 33 63 30 33 31 0a 0a  433ce8dcf3c031..
0c00: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
0c10: 73 68 5f 53 48 41 35 31 32 2d 32 2e 31 30 20 7b  sh_SHA512-2.10 {
0c20: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
0c30: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
0c40: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
0c50: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
0c60: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 31 36  ry decode hex 16
0c70: 32 62 30 63 66 39 62 33 37 35 30 66 39 34 33 38  2b0cf9b3750f9438
0c80: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
0c90: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
0ca0: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
0cb0: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
0cc0: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 61 64 65  xact -result ade
0cd0: 32 31 37 33 30 35 64 63 33 34 33 39 32 61 61 34  217305dc34392aa4
0ce0: 62 38 65 35 37 66 36 34 66 35 61 33 61 66 64 64  b8e57f64f5a3afdd
0cf0: 32 37 66 31 66 61 39 36 39 61 39 61 32 36 30 38  27f1fa969a9a2608
0d00: 33 35 33 66 38 32 62 39 35 63 66 62 34 61 65 38  353f82b95cfb4ae8
0d10: 34 35 39 38 64 30 31 35 37 35 61 35 37 38 61 31  4598d01575a578a1
0d20: 30 36 38 61 35 39 62 33 34 62 35 30 34 35 66 66  068a59b34b5045ff
0d30: 36 64 35 32 39 39 63 35 63 62 37 65 65 31 37 31  6d5299c5cb7ee171
0d40: 38 30 37 30 31 62 32 64 31 64 36 39 35 0a 0a 74  80701b2d1d695..t
0d50: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
0d60: 68 5f 53 48 41 35 31 32 2d 32 2e 31 31 20 7b 53  h_SHA512-2.11 {S
0d70: 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c  HA512ShortMsg} \
0d80: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
0d90: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
0da0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
0db0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 62 61 64  y decode hex bad
0dc0: 37 63 36 31 38 66 34 35 62 65 32 30 37 39 37 35  7c618f45be207975
0dd0: 65 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  e]} \..-body {tl
0de0: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
0df0: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
0e00: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
0e10: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 35 38  exact -result 58
0e20: 38 36 38 32 38 39 35 39 64 31 66 38 32 32 35 34  86828959d1f82254
0e30: 30 36 38 62 65 30 62 64 31 34 62 36 61 38 38 66  068be0bd14b6a88f
0e40: 35 39 66 35 33 34 30 36 31 66 62 32 30 33 37 36  59f534061fb20376
0e50: 61 30 35 34 31 30 35 32 64 64 33 36 33 35 65 64  a0541052dd3635ed
0e60: 66 33 63 36 66 30 63 61 33 64 30 38 37 37 35 65  f3c6f0ca3d08775e
0e70: 31 33 35 32 35 64 66 39 33 33 33 61 32 31 31 33  13525df9333a2113
0e80: 63 30 62 32 61 66 37 36 35 31 35 38 38 37 35 32  c0b2af7651588752
0e90: 39 39 31 30 62 36 63 37 39 33 63 38 61 35 0a 0a  9910b6c793c8a5..
0ea0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
0eb0: 73 68 5f 53 48 41 35 31 32 2d 32 2e 31 32 20 7b  sh_SHA512-2.12 {
0ec0: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
0ed0: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
0ee0: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
0ef0: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
0f00: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 36 32  ry decode hex 62
0f10: 31 33 65 31 30 61 34 34 32 30 65 30 64 39 62 37  13e10a4420e0d9b7
0f20: 37 30 33 37 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  7037]} \..-body 
0f30: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
0f40: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
0f50: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
0f60: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
0f70: 20 39 39 38 32 64 63 32 61 30 34 64 66 66 31 36   9982dc2a04dff16
0f80: 35 35 36 37 66 32 37 36 66 64 34 36 33 65 66 65  5567f276fd463efe
0f90: 66 32 62 33 36 39 66 61 32 66 62 63 61 38 63 65  f2b369fa2fbca8ce
0fa0: 65 33 31 63 65 30 64 65 38 61 37 39 61 32 65 62  e31ce0de8a79a2eb
0fb0: 30 62 35 33 65 34 33 37 66 37 64 39 64 31 66 34  0b53e437f7d9d1f4
0fc0: 31 63 37 31 64 37 32 35 63 61 62 62 39 34 39 62  1c71d725cabb949b
0fd0: 35 31 33 30 37 35 62 61 64 31 37 34 30 63 39 65  513075bad1740c9e
0fe0: 65 66 62 66 36 61 35 63 36 36 33 33 34 30 30 63  efbf6a5c6633400c
0ff0: 37 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  7..tcltest::test
1000: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 31   Hash_SHA512-2.1
1010: 33 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  3 {SHA512ShortMs
1020: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
1030: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
1040: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
1050: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
1060: 20 36 33 33 32 63 33 63 32 61 30 61 36 32 35 61   6332c3c2a0a625a
1070: 36 31 64 66 37 31 38 35 38 5d 7d 20 5c 0a 09 2d  61df71858]} \..-
1080: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
1090: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
10a0: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
10b0: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
10c0: 65 73 75 6c 74 20 39 64 36 30 33 37 35 64 39 38  esult 9d60375d98
10d0: 35 38 64 39 66 32 34 31 36 66 62 38 36 66 61 30  58d9f2416fb86fa0
10e0: 61 32 31 38 39 65 65 34 32 31 33 65 38 37 31 30  a2189ee4213e8710
10f0: 33 31 34 66 64 31 65 62 65 64 30 66 64 31 35 38  314fd1ebed0fd158
1100: 62 30 34 33 65 36 65 37 63 39 61 37 36 64 36 32  b043e6e7c9a76d62
1110: 63 36 62 61 31 65 31 64 34 31 31 61 37 33 30 39  c6ba1e1d411a7309
1120: 30 32 33 30 39 65 63 36 37 36 64 64 34 39 31 34  02309ec676dd4914
1130: 33 33 63 36 65 66 36 36 63 38 66 31 31 36 32 33  33c6ef66c8f11623
1140: 33 64 36 63 65 37 0a 0a 74 63 6c 74 65 73 74 3a  3d6ce7..tcltest:
1150: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
1160: 32 2d 32 2e 31 34 20 7b 53 48 41 35 31 32 53 68  2-2.14 {SHA512Sh
1170: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
1180: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
1190: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
11a0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
11b0: 65 20 68 65 78 20 66 34 37 62 65 33 61 32 62 30  e hex f47be3a2b0
11c0: 31 39 64 31 62 65 65 64 65 64 66 35 62 38 30 63  19d1beededf5b80c
11d0: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
11e0: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
11f0: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
1200: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
1210: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 62 39 34  xact -result b94
1220: 32 39 32 36 32 35 63 61 61 32 38 63 37 62 65 32  292625caa28c7be2
1230: 34 61 30 39 39 37 65 62 37 33 32 38 30 36 32 61  4a0997eb7328062a
1240: 37 36 64 39 62 35 32 39 63 30 66 31 64 35 36 38  76d9b529c0f1d568
1250: 66 38 35 30 64 66 36 64 35 36 39 62 35 65 38 34  f850df6d569b5e84
1260: 64 66 30 37 65 39 65 32 34 36 62 65 32 33 32 30  df07e9e246be2320
1270: 33 33 66 66 61 63 33 61 64 66 32 64 31 38 66 39  33ffac3adf2d18f9
1280: 32 61 62 39 64 61 63 66 63 30 65 63 66 30 38 61  2ab9dacfc0ecf08a
1290: 66 66 37 31 34 35 66 30 62 38 33 33 62 0a 0a 74  ff7145f0b833b..t
12a0: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
12b0: 68 5f 53 48 41 35 31 32 2d 32 2e 31 35 20 7b 53  h_SHA512-2.15 {S
12c0: 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c  HA512ShortMsg} \
12d0: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
12e0: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
12f0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
1300: 79 20 64 65 63 6f 64 65 20 68 65 78 20 62 31 37  y decode hex b17
1310: 31 35 66 37 38 32 66 66 30 32 63 36 62 38 38 39  15f782ff02c6b889
1320: 33 37 66 30 35 34 31 31 36 5d 7d 20 5c 0a 09 2d  37f054116]} \..-
1330: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
1340: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
1350: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
1360: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
1370: 65 73 75 6c 74 20 65 65 31 61 35 36 65 65 37 38  esult ee1a56ee78
1380: 31 38 32 65 63 34 31 64 32 63 33 61 62 33 33 64  182ec41d2c3ab33d
1390: 34 63 34 31 38 37 31 64 34 33 37 63 35 63 31 63  4c41871d437c5c1c
13a0: 61 30 36 30 65 65 39 65 32 31 39 63 62 38 33 36  a060ee9e219cb836
13b0: 38 39 62 34 65 35 61 34 31 37 34 64 66 64 61 62  89b4e5a4174dfdab
13c0: 35 64 31 64 31 30 39 36 61 33 31 61 37 63 38 64  5d1d1096a31a7c8d
13d0: 33 61 62 64 61 37 35 63 31 62 35 65 36 64 61 39  3abda75c1b5e6da9
13e0: 37 65 31 38 31 34 39 30 31 63 35 30 35 62 30 62  7e1814901c505b0b
13f0: 63 30 37 66 32 35 0a 0a 74 63 6c 74 65 73 74 3a  c07f25..tcltest:
1400: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
1410: 32 2d 32 2e 31 36 20 7b 53 48 41 35 31 32 53 68  2-2.16 {SHA512Sh
1420: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
1430: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
1440: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
1450: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
1460: 65 20 68 65 78 20 39 62 63 64 35 32 36 32 38 36  e hex 9bcd526286
1470: 38 63 64 39 63 38 61 39 36 63 39 65 38 32 39 38  8cd9c8a96c9e8298
1480: 37 66 30 33 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  7f03]} \..-body 
1490: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
14a0: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
14b0: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
14c0: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
14d0: 20 32 65 30 37 36 36 32 61 30 30 31 62 39 37 35   2e07662a001b975
14e0: 35 61 65 39 32 32 63 38 65 38 61 39 35 37 35 36  5ae922c8e8a95756
14f0: 64 62 35 33 34 31 64 63 30 66 32 65 36 32 61 65  db5341dc0f2e62ae
1500: 31 63 66 38 32 37 30 33 38 66 33 33 63 65 30 35  1cf827038f33ce05
1510: 35 66 36 33 61 64 35 63 30 30 62 36 35 33 39 31  5f63ad5c00b65391
1520: 34 32 38 34 33 34 64 64 63 30 31 65 35 35 33 35  428434ddc01e5535
1530: 65 37 66 65 63 62 66 35 33 64 62 36 36 64 39 33  e7fecbf53db66d93
1540: 30 39 39 62 38 65 30 62 37 65 34 34 65 34 62 32  099b8e0b7e44e4b2
1550: 35 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  5..tcltest::test
1560: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 31   Hash_SHA512-2.1
1570: 37 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  7 {SHA512ShortMs
1580: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
1590: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
15a0: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
15b0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
15c0: 20 63 64 36 37 62 64 34 30 35 34 61 61 61 33 62   cd67bd4054aaa3b
15d0: 61 61 30 64 62 31 37 38 63 65 32 33 32 66 64 35  aa0db178ce232fd5
15e0: 61 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  a]} \..-body {tl
15f0: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
1600: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
1610: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
1620: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 30 64  exact -result 0d
1630: 38 35 32 31 66 38 66 32 66 33 39 30 30 33 33 32  8521f8f2f3900332
1640: 64 31 61 31 61 35 35 63 36 30 62 61 38 31 64 30  d1a1a55c60ba81d0
1650: 34 64 32 38 64 66 65 38 63 35 30 34 62 36 33 32  4d28dfe8c504b632
1660: 38 61 65 37 38 37 39 32 35 66 65 30 31 38 38 66  8ae787925fe0188f
1670: 32 62 61 39 31 63 33 61 39 66 30 63 31 36 35 33  2ba91c3a9f0c1653
1680: 63 34 62 66 30 61 64 61 33 35 36 34 35 35 65 61  c4bf0ada356455ea
1690: 33 36 66 64 33 31 66 38 65 37 33 65 33 39 35 31  36fd31f8e73e3951
16a0: 63 61 64 34 65 62 62 61 38 63 36 65 30 34 0a 0a  cad4ebba8c6e04..
16b0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
16c0: 73 68 5f 53 48 41 35 31 32 2d 32 2e 31 38 20 7b  sh_SHA512-2.18 {
16d0: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
16e0: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
16f0: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
1700: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
1710: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 36 62  ry decode hex 6b
1720: 61 30 30 34 66 64 31 37 36 37 39 31 65 66 62 33  a004fd176791efb3
1730: 38 31 62 38 36 32 65 32 39 38 63 36 37 62 30 38  81b862e298c67b08
1740: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
1750: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
1760: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
1770: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
1780: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 31 31 32  xact -result 112
1790: 65 31 39 31 34 34 61 39 63 35 31 61 32 32 33 61  e19144a9c51a223a
17a0: 30 30 32 62 39 37 37 34 35 39 39 32 30 65 33 38  002b977459920e38
17b0: 61 66 64 34 63 61 36 31 30 62 64 31 63 35 33 32  afd4ca610bd1c532
17c0: 33 34 39 65 39 66 61 37 63 30 64 35 30 33 32 31  349e9fa7c0d50321
17d0: 35 63 30 31 61 64 37 30 65 31 62 32 61 63 35 31  5c01ad70e1b2ac51
17e0: 33 33 63 66 32 64 31 30 63 39 65 38 63 31 61 34  33cf2d10c9e8c1a4
17f0: 63 39 34 30 35 66 32 39 31 64 61 32 64 63 34 35  c9405f291da2dc45
1800: 66 37 30 36 37 36 31 63 35 65 38 66 65 0a 0a 74  f706761c5e8fe..t
1810: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
1820: 68 5f 53 48 41 35 31 32 2d 32 2e 31 39 20 7b 53  h_SHA512-2.19 {S
1830: 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c  HA512ShortMsg} \
1840: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
1850: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
1860: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
1870: 79 20 64 65 63 6f 64 65 20 68 65 78 20 63 36 61  y decode hex c6a
1880: 31 37 30 39 33 36 35 36 38 36 35 31 30 32 30 65  170936568651020e
1890: 64 66 65 31 35 64 66 38 30 31 32 61 63 64 61 38  dfe15df8012acda8
18a0: 64 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  d]} \..-body {tl
18b0: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
18c0: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
18d0: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
18e0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 63 33  exact -result c3
18f0: 36 63 31 30 30 63 64 62 36 63 38 63 34 35 62 30  6c100cdb6c8c45b0
1900: 37 32 66 31 38 32 35 36 64 36 33 61 36 36 63 39  72f18256d63a66c9
1910: 38 34 33 61 63 62 34 64 30 37 64 65 36 32 65 30  843acb4d07de62e0
1920: 36 30 30 37 31 31 64 34 66 62 65 36 34 63 38 63  600711d4fbe64c8c
1930: 66 33 31 34 65 63 33 34 35 37 63 39 30 33 30 38  f314ec3457c90308
1940: 31 34 37 63 62 37 61 63 37 65 34 64 30 37 33 62  147cb7ac7e4d073b
1950: 61 31 30 66 30 63 65 64 37 38 65 61 37 32 34 61  a10f0ced78ea724a
1960: 34 37 34 62 33 32 64 61 65 37 31 32 33 31 0a 0a  474b32dae71231..
1970: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
1980: 73 68 5f 53 48 41 35 31 32 2d 32 2e 32 30 20 7b  sh_SHA512-2.20 {
1990: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
19a0: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
19b0: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
19c0: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
19d0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 36 31  ry decode hex 61
19e0: 62 65 30 63 39 66 35 63 66 36 32 37 34 35 63 37  be0c9f5cf62745c7
19f0: 64 61 34 37 63 31 30 34 35 39 37 31 39 34 64 62  da47c104597194db
1a00: 32 34 35 63 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  245c]} \..-body 
1a10: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
1a20: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
1a30: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
1a40: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
1a50: 20 62 33 37 39 32 34 39 61 33 63 61 35 66 31 34   b379249a3ca5f14
1a60: 63 32 39 34 35 36 37 31 30 31 31 34 62 61 36 66  c29456710114ba6f
1a70: 36 31 33 36 62 33 34 63 33 66 63 39 66 36 66 62  6136b34c3fc9f6fb
1a80: 39 31 62 35 39 64 34 39 31 61 66 37 38 32 64 36  91b59d491af782d6
1a90: 62 32 33 37 65 62 37 31 61 61 66 66 64 64 33 38  b237eb71aaffdd38
1aa0: 30 37 39 34 36 31 63 66 36 39 30 61 34 36 64 39  079461cf690a46d9
1ab0: 61 34 64 64 64 36 30 32 64 31 39 38 30 38 61 62  a4ddd602d19808ab
1ac0: 36 32 33 35 64 31 64 38 61 61 30 31 65 38 32 30  6235d1d8aa01e820
1ad0: 30 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  0..tcltest::test
1ae0: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 32   Hash_SHA512-2.2
1af0: 31 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  1 {SHA512ShortMs
1b00: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
1b10: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
1b20: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
1b30: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
1b40: 20 65 30 37 30 35 36 64 34 66 37 32 37 37 62 63   e07056d4f7277bc
1b50: 35 34 38 30 39 39 35 37 37 37 32 30 61 35 38 31  548099577720a581
1b60: 65 65 63 39 34 31 34 31 64 5d 7d 20 5c 0a 09 2d  eec94141d]} \..-
1b70: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
1b80: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
1b90: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
1ba0: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
1bb0: 65 73 75 6c 74 20 35 39 66 31 38 35 36 33 30 33  esult 59f1856303
1bc0: 66 66 31 36 35 65 32 61 62 35 36 38 33 64 64 64  ff165e2ab5683ddd
1bd0: 65 62 36 65 38 61 64 38 31 66 31 35 62 62 35 37  eb6e8ad81f15bb57
1be0: 38 35 37 39 62 39 39 39 65 62 35 37 34 36 36 38  8579b999eb574668
1bf0: 30 66 32 32 63 66 65 63 36 64 62 61 37 34 31 65  0f22cfec6dba741e
1c00: 35 39 31 63 61 34 64 39 65 35 33 39 30 34 38 33  591ca4d9e5390483
1c10: 37 37 30 31 62 33 37 34 62 65 37 34 62 62 63 30  7701b374be74bbc0
1c20: 38 34 37 61 39 32 31 37 39 61 63 32 62 36 37 34  847a92179ac2b674
1c30: 39 36 64 38 30 37 0a 0a 74 63 6c 74 65 73 74 3a  96d807..tcltest:
1c40: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
1c50: 32 2d 32 2e 32 32 20 7b 53 48 41 35 31 32 53 68  2-2.22 {SHA512Sh
1c60: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
1c70: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
1c80: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
1c90: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
1ca0: 65 20 68 65 78 20 36 37 65 62 64 61 30 61 33 35  e hex 67ebda0a35
1cb0: 37 33 61 39 61 35 38 37 35 31 64 34 31 36 39 65  73a9a58751d4169e
1cc0: 31 30 63 37 65 38 36 36 33 66 65 62 62 33 61 38  10c7e8663febb3a8
1cd0: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
1ce0: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
1cf0: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
1d00: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
1d10: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 31 33 39  xact -result 139
1d20: 36 33 66 38 31 63 66 61 62 66 63 61 37 31 64 65  63f81cfabfca71de
1d30: 34 37 33 39 66 64 32 34 61 31 30 63 65 33 38 39  4739fd24a10ce389
1d40: 37 62 62 61 31 64 37 31 36 39 30 37 66 63 30 61  7bba1d716907fc0a
1d50: 32 38 34 39 30 63 31 39 32 61 37 66 63 33 63 63  28490c192a7fc3cc
1d60: 62 38 64 62 31 66 39 31 61 66 37 61 32 64 32 35  b8db1f91af7a2d25
1d70: 30 64 36 36 31 37 66 30 64 66 64 31 35 31 39 64  0d6617f0dfd1519d
1d80: 32 32 31 64 36 31 38 61 30 32 65 33 65 33 66 61  221d618a02e3e3fa
1d90: 39 30 34 31 63 66 33 35 65 64 31 65 61 0a 0a 74  9041cf35ed1ea..t
1da0: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
1db0: 68 5f 53 48 41 35 31 32 2d 32 2e 32 33 20 7b 53  h_SHA512-2.23 {S
1dc0: 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c  HA512ShortMsg} \
1dd0: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
1de0: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
1df0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
1e00: 79 20 64 65 63 6f 64 65 20 68 65 78 20 36 33 65  y decode hex 63e
1e10: 30 39 64 62 39 39 65 62 34 63 64 36 32 33 38 36  09db99eb4cd62386
1e20: 37 37 38 35 39 61 35 36 37 64 66 33 31 33 63 38  77859a567df313c8
1e30: 35 32 30 64 38 34 35 62 34 5d 7d 20 5c 0a 09 2d  520d845b4]} \..-
1e40: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
1e50: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
1e60: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
1e70: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
1e80: 65 73 75 6c 74 20 39 30 38 33 65 35 33 34 38 62  esult 9083e5348b
1e90: 30 38 65 62 39 38 31 30 62 32 64 31 35 37 38 31  08eb9810b2d15781
1ea0: 64 38 32 36 35 38 34 35 34 31 30 64 65 35 34 66  d8265845410de54f
1eb0: 65 36 31 37 35 30 64 34 62 39 33 38 35 33 36 39  e61750d4b9385369
1ec0: 30 36 34 39 61 64 63 36 65 37 32 34 39 30 62 63  0649adc6e72490bc
1ed0: 32 62 37 63 33 36 35 65 32 33 39 30 35 37 33 64  2b7c365e2390573d
1ee0: 39 34 31 34 62 65 63 63 30 39 33 39 37 31 39 65  9414becc0939719e
1ef0: 30 63 62 37 38 65 63 61 36 62 32 63 38 30 63 32  0cb78eca6b2c80c2
1f00: 66 64 61 39 32 30 0a 0a 74 63 6c 74 65 73 74 3a  fda920..tcltest:
1f10: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
1f20: 32 2d 32 2e 32 34 20 7b 53 48 41 35 31 32 53 68  2-2.24 {SHA512Sh
1f30: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
1f40: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
1f50: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
1f60: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
1f70: 65 20 68 65 78 20 66 33 65 30 36 62 34 62 64 37  e hex f3e06b4bd7
1f80: 39 65 33 38 30 61 36 35 63 62 36 37 39 61 39 38  9e380a65cb679a98
1f90: 63 63 64 37 33 32 35 36 33 63 63 35 65 62 65 38  ccd732563cc5ebe8
1fa0: 39 32 65 32 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  92e2]} \..-body 
1fb0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
1fc0: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
1fd0: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
1fe0: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
1ff0: 20 36 62 33 31 35 66 31 30 36 62 30 37 63 35 39   6b315f106b07c59
2000: 65 65 64 63 35 61 62 31 64 66 38 31 33 62 33 63  eedc5ab1df813b3c
2010: 30 62 39 30 33 30 36 30 65 37 32 31 37 63 63 30  0b903060e7217cc0
2020: 31 30 65 39 30 37 30 32 37 38 35 31 32 61 38 38  10e9070278512a88
2030: 35 30 30 38 64 61 63 38 62 32 34 37 32 61 35 32  5008dac8b2472a52
2040: 31 65 37 37 38 33 35 61 37 66 34 64 65 61 64 63  1e77835a7f4deadc
2050: 31 64 35 39 31 61 61 32 33 62 36 32 34 62 36 39  1d591aa23b624b69
2060: 39 34 38 61 39 39 62 62 36 30 31 32 31 63 35 34  948a99bb60121c54
2070: 65 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  e..tcltest::test
2080: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 32   Hash_SHA512-2.2
2090: 35 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  5 {SHA512ShortMs
20a0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
20b0: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
20c0: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
20d0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
20e0: 20 31 36 62 31 37 30 37 34 64 33 65 33 64 39 37   16b17074d3e3d97
20f0: 35 35 37 66 39 65 64 37 37 64 39 32 30 62 34 62  557f9ed77d920b4b
2100: 31 62 66 66 34 65 38 34 35 62 33 34 35 61 39 32  1bff4e845b345a92
2110: 32 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  2]} \..-body {tl
2120: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
2130: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
2140: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
2150: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 36 38  exact -result 68
2160: 38 34 31 33 34 35 38 32 61 37 36 30 30 34 36 34  84134582a7600464
2170: 33 33 61 62 63 62 64 35 33 64 62 38 66 66 31 61  33abcbd53db8ff1a
2180: 38 39 39 39 35 38 36 32 66 33 30 35 62 38 38 37  89995862f305b887
2190: 30 32 30 66 36 64 61 36 63 37 62 39 30 33 61 33  020f6da6c7b903a3
21a0: 31 34 37 32 31 65 39 37 32 62 66 34 33 38 34 38  14721e972bf43848
21b0: 33 66 34 35 32 61 38 62 30 39 35 39 36 32 39 38  3f452a8b09596298
21c0: 61 35 37 36 63 39 30 33 63 39 31 64 66 34 61 34  a576c903c91df4a4
21d0: 31 34 63 37 62 64 32 30 66 64 31 64 30 37 0a 0a  14c7bd20fd1d07..
21e0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
21f0: 73 68 5f 53 48 41 35 31 32 2d 32 2e 32 36 20 7b  sh_SHA512-2.26 {
2200: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
2210: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
2220: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
2230: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
2240: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 33 65  ry decode hex 3e
2250: 64 66 39 33 32 35 31 33 34 39 64 32 32 38 30 36  df93251349d22806
2260: 62 65 64 32 35 33 34 35 66 64 35 63 31 39 30 61  bed25345fd5c190a
2270: 61 63 39 36 64 36 63 64 62 32 64 37 35 38 62 38  ac96d6cdb2d758b8
2280: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
2290: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
22a0: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
22b0: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
22c0: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 32 39 39  xact -result 299
22d0: 65 30 64 61 66 36 36 30 35 65 35 62 30 63 33 30  e0daf6605e5b0c30
22e0: 65 31 65 63 38 62 62 39 38 65 37 61 33 62 64 37  e1ec8bb98e7a3bd7
22f0: 62 33 33 62 33 38 38 62 64 62 34 35 37 34 35 32  b33b388bdb457452
2300: 64 61 62 35 30 39 35 39 34 34 30 36 63 38 65 37  dab509594406c8e7
2310: 62 38 34 31 65 36 66 34 65 37 35 63 38 64 36 66  b841e6f4e75c8d6f
2320: 62 64 36 31 34 64 35 65 62 39 65 35 36 63 33 35  bd614d5eb9e56c35
2330: 39 62 66 61 66 62 34 32 38 35 37 35 34 37 38 37  9bfafb4285754787
2340: 61 62 37 32 62 34 36 64 64 33 33 66 30 0a 0a 74  ab72b46dd33f0..t
2350: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
2360: 68 5f 53 48 41 35 31 32 2d 32 2e 32 37 20 7b 53  h_SHA512-2.27 {S
2370: 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c  HA512ShortMsg} \
2380: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
2390: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
23a0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
23b0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 62 32 64  y decode hex b2d
23c0: 35 61 31 34 66 30 31 65 36 62 37 37 38 38 38 38  5a14f01e6b778888
23d0: 63 35 36 32 61 30 35 39 65 63 38 31 39 61 64 38  c562a059ec819ad8
23e0: 39 39 39 32 64 31 36 61 30 39 66 37 61 35 34 62  9992d16a09f7a54b
23f0: 34 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  4]} \..-body {tl
2400: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
2410: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
2420: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
2430: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 61 62  exact -result ab
2440: 32 65 37 64 37 34 35 64 38 61 64 33 39 33 34 33  2e7d745d8ad39343
2450: 39 61 66 32 61 33 66 62 63 39 63 64 63 32 35 35  9af2a3fbc9cdc255
2460: 31 30 64 34 61 30 34 65 37 38 62 35 32 36 65 31  10d4a04e78b526e1
2470: 32 62 31 63 30 62 65 33 62 32 32 39 36 36 38 37  2b1c0be3b2296687
2480: 32 65 62 65 36 35 32 65 32 66 34 36 65 64 35 63  2ebe652e2f46ed5c
2490: 35 61 63 65 63 64 32 66 32 33 33 61 39 31 37 35  5acecd2f233a9175
24a0: 64 64 32 39 35 65 62 65 62 33 61 30 37 30 36 66  dd295ebeb3a0706f
24b0: 63 36 36 66 61 31 62 31 33 37 30 34 32 62 0a 0a  c66fa1b137042b..
24c0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
24d0: 73 68 5f 53 48 41 35 31 32 2d 32 2e 32 38 20 7b  sh_SHA512-2.28 {
24e0: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
24f0: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
2500: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
2510: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
2520: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 38 34  ry decode hex 84
2530: 34 62 36 36 66 31 32 62 61 30 63 35 66 39 65 39  4b66f12ba0c5f9e9
2540: 32 37 33 31 66 35 37 31 35 33 39 64 31 65 65 66  2731f571539d1eef
2550: 33 33 32 65 31 35 34 39 61 34 39 64 62 66 61 34  332e1549a49dbfa4
2560: 63 36 64 65 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  c6de]} \..-body 
2570: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
2580: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
2590: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
25a0: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
25b0: 20 63 33 66 39 63 35 37 38 31 39 32 35 37 37 34   c3f9c5781925774
25c0: 37 38 33 61 65 39 64 38 33 39 37 37 32 64 37 35  783ae9d839772d75
25d0: 31 33 64 66 63 65 61 38 63 35 61 66 38 64 61 32  13dfcea8c5af8da2
25e0: 36 32 63 31 39 36 66 39 66 65 38 30 31 33 35 62  62c196f9fe80135b
25f0: 32 62 30 63 38 63 36 63 61 30 61 31 36 30 34 65  2b0c8c6ca0a1604e
2600: 30 61 33 34 36 30 32 34 37 36 32 30 64 65 32 30  0a3460247620de20
2610: 62 32 39 39 66 32 64 62 37 38 37 31 39 38 32 64  b299f2db7871982d
2620: 32 37 63 32 31 37 36 61 65 35 66 61 37 61 64 36  27c2176ae5fa7ad6
2630: 35 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  5..tcltest::test
2640: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 32   Hash_SHA512-2.2
2650: 39 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  9 {SHA512ShortMs
2660: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
2670: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
2680: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
2690: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
26a0: 20 36 62 36 63 63 36 39 32 64 33 39 38 36 30 62   6b6cc692d39860b
26b0: 31 66 33 30 32 30 33 36 35 33 65 32 35 64 30 39  1f30203653e25d09
26c0: 63 30 31 65 36 61 38 30 34 33 63 31 61 39 63 62  c01e6a8043c1a9cb
26d0: 38 62 32 34 39 61 34 31 65 5d 7d 20 5c 0a 09 2d  8b249a41e]} \..-
26e0: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
26f0: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
2700: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
2710: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
2720: 65 73 75 6c 74 20 32 65 35 32 36 33 64 39 61 34  esult 2e5263d9a4
2730: 66 32 31 62 32 31 30 65 30 65 31 36 31 65 64 33  f21b210e0e161ed3
2740: 39 64 66 34 34 31 30 32 38 36 34 33 32 35 37 38  9df4410286432578
2750: 38 36 34 37 32 36 31 61 36 65 37 30 65 61 34 62  8647261a6e70ea4b
2760: 31 65 65 30 61 62 62 35 37 62 35 37 34 39 39 62  1ee0abb57b57499b
2770: 63 38 32 31 35 38 64 38 32 33 33 36 64 64 35 33  c82158d82336dd53
2780: 66 31 65 66 34 34 36 34 63 36 61 30 38 31 32 36  f1ef4464c6a08126
2790: 65 31 33 38 62 32 63 63 30 38 39 32 66 37 36 35  e138b2cc0892f765
27a0: 66 36 61 66 38 35 0a 0a 74 63 6c 74 65 73 74 3a  f6af85..tcltest:
27b0: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
27c0: 32 2d 32 2e 33 30 20 7b 53 48 41 35 31 32 53 68  2-2.30 {SHA512Sh
27d0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
27e0: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
27f0: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
2800: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
2810: 65 20 68 65 78 20 61 62 31 66 63 39 65 65 38 34  e hex ab1fc9ee84
2820: 35 65 65 62 32 30 35 65 63 31 33 37 32 35 64 61  5eeb205ec13725da
2830: 66 31 66 62 31 66 35 64 35 30 36 32 39 62 31 34  f1fb1f5d50629b14
2840: 65 61 39 61 32 32 33 35 61 39 33 35 30 61 38 38  ea9a2235a9350a88
2850: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
2860: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
2870: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
2880: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
2890: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 37 32 64  xact -result 72d
28a0: 31 38 38 61 39 64 66 35 66 33 62 30 30 30 35 37  188a9df5f3b00057
28b0: 62 63 61 32 32 63 39 32 63 30 66 38 32 32 38 34  bca22c92c0f82284
28c0: 32 32 64 39 37 34 33 30 32 64 32 32 64 34 62 33  22d974302d22d4b3
28d0: 32 32 65 37 61 36 63 38 66 63 33 62 32 62 35 30  22e7a6c8fc3b2b50
28e0: 65 63 37 34 63 36 38 34 32 37 38 31 66 32 39 66  ec74c6842781f29f
28f0: 37 30 37 35 63 33 64 34 62 64 30 36 35 38 37 38  7075c3d4bd065878
2900: 36 34 38 38 34 36 63 33 39 62 62 33 65 34 65 32  648846c39bb3e4e2
2910: 36 39 32 63 30 66 30 35 33 66 37 65 64 0a 0a 74  692c0f053f7ed..t
2920: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
2930: 68 5f 53 48 41 35 31 32 2d 32 2e 33 31 20 7b 53  h_SHA512-2.31 {S
2940: 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c  HA512ShortMsg} \
2950: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
2960: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
2970: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
2980: 79 20 64 65 63 6f 64 65 20 68 65 78 20 35 39 34  y decode hex 594
2990: 65 64 38 32 61 63 66 63 30 33 63 30 65 33 35 39  ed82acfc03c0e359
29a0: 63 63 35 36 30 62 38 65 34 62 38 35 66 36 65 65  cc560b8e4b85f6ee
29b0: 37 37 65 65 35 39 61 37 30 30 32 33 63 32 62 33  77ee59a70023c2b3
29c0: 64 35 62 33 32 38 35 62 32 5d 7d 20 5c 0a 09 2d  d5b3285b2]} \..-
29d0: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
29e0: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
29f0: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
2a00: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
2a10: 65 73 75 6c 74 20 35 65 66 33 32 32 63 62 34 30  esult 5ef322cb40
2a20: 31 34 65 63 62 62 37 31 33 61 31 33 36 35 39 36  14ecbb713a136596
2a30: 31 32 61 32 32 32 32 32 35 39 38 34 64 33 31 63  12a222225984d31c
2a40: 31 38 37 64 65 62 63 34 34 35 39 62 61 37 39 30  187debc4459ba790
2a50: 31 66 30 33 64 61 63 37 37 35 34 30 30 61 63 66  1f03dac775400acf
2a60: 65 33 35 31 30 62 33 30 36 62 37 39 38 39 34 66  e3510b306b79894f
2a70: 62 30 65 38 34 33 37 62 34 31 32 31 35 30 63 39  b0e8437b412150c9
2a80: 31 39 33 65 65 35 61 32 31 36 34 33 30 36 65 62  193ee5a2164306eb
2a90: 62 37 38 33 30 31 0a 0a 74 63 6c 74 65 73 74 3a  b78301..tcltest:
2aa0: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
2ab0: 32 2d 32 2e 33 32 20 7b 53 48 41 35 31 32 53 68  2-2.32 {SHA512Sh
2ac0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
2ad0: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
2ae0: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
2af0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
2b00: 65 20 68 65 78 20 66 32 63 36 36 65 66 62 66 32  e hex f2c66efbf2
2b10: 61 37 36 63 35 62 30 34 31 38 36 30 65 61 35 37  a76c5b041860ea57
2b20: 36 31 30 33 63 64 38 63 36 62 32 35 65 35 30 65  6103cd8c6b25e50e
2b30: 63 61 39 66 66 36 61 32 66 61 38 38 30 38 33 66  ca9ff6a2fa88083f
2b40: 65 39 61 63 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  e9ac]} \..-body 
2b50: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
2b60: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
2b70: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
2b80: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
2b90: 20 37 39 37 38 66 39 33 65 66 37 65 64 30 32 63   7978f93ef7ed02c
2ba0: 34 61 32 34 61 62 65 63 62 61 31 32 34 64 31 34  4a24abecba124d14
2bb0: 64 64 32 31 34 65 31 34 39 32 66 66 31 65 31 36  dd214e1492ff1e16
2bc0: 38 33 30 34 63 30 65 61 62 38 39 36 33 37 64 61  8304c0eab89637da
2bd0: 30 66 37 61 35 36 39 63 34 33 64 63 34 35 36 32  0f7a569c43dc4562
2be0: 62 64 62 39 34 30 34 61 30 31 38 62 36 33 31 34  bdb9404a018b6314
2bf0: 66 65 30 65 65 62 61 63 63 66 62 32 35 62 61 37  fe0eebaccfb25ba7
2c00: 36 35 30 36 61 61 37 65 39 64 63 64 39 35 36 61  6506aa7e9dcd956a
2c10: 37 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  7..tcltest::test
2c20: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 33   Hash_SHA512-2.3
2c30: 33 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  3 {SHA512ShortMs
2c40: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
2c50: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
2c60: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
2c70: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
2c80: 20 38 63 63 62 30 38 64 32 61 31 61 32 38 32 61   8ccb08d2a1a282a
2c90: 61 38 63 63 39 39 39 30 32 65 63 61 66 30 66 36  a8cc99902ecaf0f6
2ca0: 37 61 39 66 32 31 63 66 66 65 32 38 30 30 35 63  7a9f21cffe28005c
2cb0: 62 32 37 66 63 66 31 32 39 65 39 36 33 66 39 39  b27fcf129e963f99
2cc0: 64 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  d]} \..-body {tl
2cd0: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
2ce0: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
2cf0: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
2d00: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 34 35  exact -result 45
2d10: 35 31 64 65 66 32 66 39 31 32 37 33 38 36 65 65  51def2f9127386ee
2d20: 61 38 64 34 64 61 65 31 65 61 38 64 38 65 34 39  a8d4dae1ea8d8e49
2d30: 62 32 61 64 64 30 35 30 39 66 32 37 63 63 62 63  b2add0509f27ccbc
2d40: 65 37 64 39 65 39 35 30 61 63 37 64 62 30 31 64  e7d9e950ac7db01d
2d50: 35 62 63 61 35 37 39 63 32 37 31 62 39 66 32 64  5bca579c271b9f2d
2d60: 38 30 36 37 33 30 64 38 38 66 35 38 32 35 32 66  806730d88f58252f
2d70: 64 30 63 32 35 38 37 38 35 31 63 33 61 63 38 61  d0c2587851c3ac8a
2d80: 30 65 37 32 62 34 65 31 64 63 30 64 61 36 0a 0a  0e72b4e1dc0da6..
2d90: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
2da0: 73 68 5f 53 48 41 35 31 32 2d 32 2e 33 34 20 7b  sh_SHA512-2.34 {
2db0: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
2dc0: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
2dd0: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
2de0: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
2df0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 39 66  ry decode hex 9f
2e00: 38 63 34 39 33 32 30 61 66 39 33 37 30 63 64 33  8c49320af9370cd3
2e10: 64 62 32 30 65 39 62 35 30 64 33 65 61 61 35 39  db20e9b50d3eaa59
2e20: 61 36 32 33 32 64 37 61 38 36 66 62 37 64 34 37  a6232d7a86fb7d47
2e30: 32 66 31 32 34 35 30 38 64 37 39 36 38 62 30 35  2f124508d7968b05
2e40: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
2e50: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
2e60: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
2e70: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
2e80: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 38 31 62  xact -result 81b
2e90: 30 30 32 66 31 35 63 34 64 34 38 62 65 38 35 31  002f15c4d48be851
2ea0: 37 66 37 65 64 38 39 64 66 33 30 32 66 62 31 34  7f7ed89df302fb14
2eb0: 33 35 63 39 34 33 35 65 66 65 66 65 64 35 38 66  35c9435efefed58f
2ec0: 33 65 62 38 65 61 31 31 39 31 30 36 32 33 66 31  3eb8ea11910623f1
2ed0: 65 62 39 30 32 38 61 36 36 65 30 32 31 32 31 61  eb9028a66e02121a
2ee0: 37 66 30 38 61 37 63 36 30 34 32 32 36 66 32 33  7f08a7c604226f23
2ef0: 32 34 66 34 38 33 65 39 31 35 34 38 64 62 62 64  24f483e91548dbbd
2f00: 32 63 34 34 31 61 62 37 30 34 63 65 35 0a 0a 74  2c441ab704ce5..t
2f10: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
2f20: 68 5f 53 48 41 35 31 32 2d 32 2e 33 35 20 7b 53  h_SHA512-2.35 {S
2f30: 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c  HA512ShortMsg} \
2f40: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
2f50: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
2f60: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
2f70: 79 20 64 65 63 6f 64 65 20 68 65 78 20 34 61 62  y decode hex 4ab
2f80: 39 61 61 30 36 39 34 37 35 65 35 34 62 32 35 65  9aa069475e54b25e
2f90: 35 36 38 38 61 35 32 64 64 34 61 63 64 31 33 34  5688a52dd4acd134
2fa0: 31 36 39 63 38 35 38 31 30 35 66 30 31 61 30 61  169c858105f01a0a
2fb0: 31 62 31 33 34 63 37 32 64 34 61 66 35 31 66 38  1b134c72d4af51f8
2fc0: 65 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  e]} \..-body {tl
2fd0: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
2fe0: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
2ff0: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
3000: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 34 38  exact -result 48
3010: 62 61 35 61 36 33 61 62 61 37 65 37 62 64 38 65  ba5a63aba7e7bd8e
3020: 34 32 30 34 37 35 33 33 31 31 32 35 61 39 34 37  420475331125a947
3030: 39 32 38 63 36 37 66 64 62 30 30 66 36 35 63 34  928c67fdb00f65c4
3040: 30 38 30 64 39 61 30 62 39 39 63 30 36 37 32 34  080d9a0b99c06724
3050: 32 34 65 37 36 61 31 62 61 36 62 64 37 36 64 66  24e76a1ba6bd76df
3060: 65 34 39 32 63 37 33 30 66 36 66 39 61 64 63 63  e492c730f6f9adcc
3070: 61 65 65 37 62 62 31 31 35 37 31 61 61 64 62 33  aee7bb11571aadb3
3080: 31 66 36 62 62 36 32 38 63 66 61 39 33 33 0a 0a  1f6bb628cfa933..
3090: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
30a0: 73 68 5f 53 48 41 35 31 32 2d 32 2e 33 36 20 7b  sh_SHA512-2.36 {
30b0: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
30c0: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
30d0: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
30e0: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
30f0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 66 30  ry decode hex f0
3100: 63 31 64 33 34 30 37 64 65 39 32 65 66 37 34 32  c1d3407de92ef742
3110: 31 65 34 32 64 66 35 63 39 61 62 33 31 64 32 65  1e42df5c9ab31d2e
3120: 63 30 61 37 35 30 61 39 35 32 32 38 36 39 63 62  c0a750a9522869cb
3130: 65 34 63 61 62 64 36 36 39 30 38 64 35 38 32 33  e4cabd66908d5823
3140: 65 63 30 34 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  ec04]} \..-body 
3150: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
3160: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
3170: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
3180: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
3190: 20 39 65 37 35 63 35 62 63 61 32 63 32 61 66 31   9e75c5bca2c2af1
31a0: 64 37 37 33 39 37 38 37 66 34 36 65 31 64 39 38  d7739787f46e1d98
31b0: 31 63 34 66 39 38 65 34 39 33 64 30 37 32 34 62  1c4f98e493d0724b
31c0: 35 32 35 32 63 32 66 62 61 65 33 63 35 32 36 37  5252c2fbae3c5267
31d0: 31 39 66 31 64 32 37 65 36 63 63 64 30 64 37 30  19f1d27e6ccd0d70
31e0: 35 32 34 30 32 38 31 65 38 66 62 66 33 64 62 37  5240281e8fbf3db7
31f0: 35 62 39 62 33 32 30 35 63 31 34 31 33 34 33 36  5b9b3205c1413436
3200: 64 33 62 35 64 31 34 30 30 30 34 62 38 63 63 61  d3b5d140004b8cca
3210: 31 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  1..tcltest::test
3220: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 33   Hash_SHA512-2.3
3230: 37 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  7 {SHA512ShortMs
3240: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
3250: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
3260: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
3270: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
3280: 20 61 65 38 63 39 66 38 66 62 34 31 62 35 31 39   ae8c9f8fb41b519
3290: 62 36 64 39 34 33 38 33 33 66 65 31 63 33 32 64  b6d943833fe1c32d
32a0: 31 63 34 32 39 32 66 62 31 64 64 66 31 64 62 65  1c4292fb1ddf1dbe
32b0: 32 65 62 32 32 37 64 39 65 31 34 64 33 31 65 64  2eb227d9e14d31ed
32c0: 37 34 65 62 61 65 66 31 32 5d 7d 20 5c 0a 09 2d  74ebaef12]} \..-
32d0: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
32e0: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
32f0: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
3300: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
3310: 65 73 75 6c 74 20 30 34 32 66 39 66 64 30 61 34  esult 042f9fd0a4
3320: 65 64 33 64 39 66 65 63 33 36 35 35 61 65 31 31  ed3d9fec3655ae11
3330: 30 31 31 63 36 66 32 62 63 37 65 34 35 37 65 38  011c6f2bc7e457e8
3340: 38 31 32 62 36 64 38 62 65 32 63 64 34 35 66 63  812b6d8be2cd45fc
3350: 36 63 34 33 32 61 39 34 35 35 38 63 38 38 66 32  6c432a94558c88f2
3360: 32 63 30 31 34 33 39 36 31 38 38 36 35 65 38 65  2c01439618865e8e
3370: 34 39 65 35 30 39 63 34 34 38 62 33 34 32 63 61  49e509c448b342ca
3380: 39 31 34 62 31 32 30 33 34 34 61 61 66 37 62 63  914b120344aaf7bc
3390: 62 64 63 61 31 38 0a 0a 74 63 6c 74 65 73 74 3a  bdca18..tcltest:
33a0: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
33b0: 32 2d 32 2e 33 38 20 7b 53 48 41 35 31 32 53 68  2-2.38 {SHA512Sh
33c0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
33d0: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
33e0: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
33f0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
3400: 65 20 68 65 78 20 64 61 33 39 66 62 38 36 32 33  e hex da39fb8623
3410: 37 66 30 30 33 30 33 38 34 34 65 36 31 66 63 36  7f00303844e61fc6
3420: 63 66 65 37 37 39 65 34 32 61 66 35 33 33 34 39  cfe779e42af53349
3430: 38 33 39 35 39 30 62 63 64 32 66 30 65 34 63 62  839590bcd2f0e4cb
3440: 62 63 32 37 39 65 63 30 62 37 65 38 38 35 64 31  bc279ec0b7e885d1
3450: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
3460: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
3470: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
3480: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
3490: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 65 63 62  xact -result ecb
34a0: 34 33 64 65 38 63 32 33 33 61 37 33 31 62 33 38  43de8c233a731b38
34b0: 65 33 30 63 35 36 39 36 66 38 38 37 36 37 36 31  e30c5696f8876761
34c0: 62 37 65 61 37 32 65 66 65 32 38 33 66 64 30 37  b7ea72efe283fd07
34d0: 62 65 64 66 32 30 30 32 39 66 34 37 63 36 64 32  bedf20029f47c6d2
34e0: 61 34 34 32 37 38 32 33 65 31 30 30 66 62 30 38  a4427823e100fb08
34f0: 37 61 62 61 66 32 32 64 37 65 66 66 34 32 61 39  7abaf22d7eff42a9
3500: 35 31 63 39 37 63 33 64 64 30 35 66 34 38 61 32  51c97c3dd05f48a2
3510: 30 31 36 33 66 61 34 33 36 37 63 62 61 0a 0a 74  0163fa4367cba..t
3520: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
3530: 68 5f 53 48 41 35 31 32 2d 32 2e 33 39 20 7b 53  h_SHA512-2.39 {S
3540: 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c  HA512ShortMsg} \
3550: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
3560: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
3570: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
3580: 79 20 64 65 63 6f 64 65 20 68 65 78 20 33 65 37  y decode hex 3e7
3590: 32 37 31 64 32 30 37 30 65 66 30 39 35 33 39 34  271d2070ef095394
35a0: 36 32 30 63 34 62 30 31 36 35 37 36 63 31 35 30  620c4b016576c150
35b0: 66 33 34 62 65 61 36 30 37 38 34 36 31 33 61 30  f34bea60784613a0
35c0: 66 36 36 30 64 37 66 61 35 61 65 35 36 38 37 32  f660d7fa5ae56872
35d0: 62 38 38 63 35 38 33 39 38 5d 7d 20 5c 0a 09 2d  b88c58398]} \..-
35e0: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
35f0: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
3600: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
3610: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
3620: 65 73 75 6c 74 20 38 31 35 34 64 30 64 61 36 33  esult 8154d0da63
3630: 34 61 62 32 32 36 36 30 36 31 61 63 63 31 32 33  4ab2266061acc123
3640: 61 63 62 34 30 37 36 35 30 66 66 65 39 31 36 34  acb407650ffe9164
3650: 61 32 32 64 65 33 66 65 32 39 62 66 30 35 33 39  a22de3fe29bf0539
3660: 33 62 32 61 65 63 65 39 32 63 66 34 64 62 30 30  3b2aece92cf4db00
3670: 65 61 35 62 34 33 34 31 63 33 31 64 64 62 37 64  ea5b4341c31ddb7d
3680: 65 31 35 31 36 38 33 63 38 61 37 31 62 35 61 34  e151683c8a71b5a4
3690: 34 64 35 63 33 31 37 35 37 39 30 66 65 61 63 36  4d5c3175790feac6
36a0: 37 64 31 38 65 65 0a 0a 74 63 6c 74 65 73 74 3a  7d18ee..tcltest:
36b0: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
36c0: 32 2d 32 2e 34 30 20 7b 53 48 41 35 31 32 53 68  2-2.40 {SHA512Sh
36d0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
36e0: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
36f0: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
3700: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
3710: 65 20 68 65 78 20 33 31 31 66 62 36 37 66 36 61  e hex 311fb67f6a
3720: 30 37 38 34 62 62 30 31 61 32 64 35 61 33 66 33  0784bb01a2d5a3f3
3730: 30 39 32 63 34 30 37 61 39 64 33 33 32 32 33 31  092c407a9d332231
3740: 39 64 66 66 39 61 37 39 66 38 39 34 32 39 31 63  9dff9a79f894291c
3750: 35 66 61 63 33 37 33 31 39 66 62 34 30 38 34 30  5fac37319fb40840
3760: 32 65 31 38 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  2e18]} \..-body 
3770: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
3780: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
3790: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
37a0: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
37b0: 20 31 38 37 30 66 65 39 31 33 61 62 62 30 61 34   1870fe913abb0a4
37c0: 62 34 66 35 33 62 36 35 38 31 61 65 31 38 33 32  b4f53b6581ae1832
37d0: 32 63 64 30 35 33 32 38 35 31 34 35 35 36 36 30  2cd0532851455660
37e0: 37 66 33 66 34 64 37 62 36 61 32 61 63 38 65 39  7f3f4d7b6a2ac8e9
37f0: 31 38 35 64 39 34 64 39 34 37 64 38 62 39 63 38  185d94d947d8b9c8
3800: 38 65 30 65 66 61 36 36 64 38 39 62 35 39 66 37  8e0efa66d89b59f7
3810: 34 33 39 63 37 35 66 64 61 64 64 31 38 31 36 66  439c75fdadd1816f
3820: 37 34 31 32 33 30 36 61 62 32 62 35 39 64 36 36  7412306ab2b59d66
3830: 34 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  4..tcltest::test
3840: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 34   Hash_SHA512-2.4
3850: 31 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  1 {SHA512ShortMs
3860: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
3870: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
3880: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
3890: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
38a0: 20 37 36 35 31 61 62 34 39 31 62 38 66 61 38 36   7651ab491b8fa86
38b0: 66 39 36 39 64 34 32 39 37 37 64 30 39 64 66 35  f969d42977d09df5
38c0: 66 38 62 65 65 33 65 35 38 39 39 31 38 30 62 35  f8bee3e5899180b5
38d0: 32 63 39 36 38 62 30 64 62 30 35 37 61 36 66 30  2c968b0db057a6f0
38e0: 32 61 38 38 36 61 64 36 31 37 61 38 34 39 31 35  2a886ad617a84915
38f0: 61 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  a]} \..-body {tl
3900: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
3910: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
3920: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
3930: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 66 33  exact -result f3
3940: 35 65 35 30 65 32 65 30 32 62 38 37 38 31 33 34  5e50e2e02b878134
3950: 35 66 38 63 65 62 32 31 39 38 66 30 36 38 62 61  5f8ceb2198f068ba
3960: 31 30 33 34 37 36 66 37 31 35 63 66 62 34 38 37  103476f715cfb487
3970: 61 34 35 32 38 38 32 63 39 66 30 64 65 30 63 37  a452882c9f0de0c7
3980: 32 30 62 32 61 30 38 38 61 33 39 64 30 36 61 38  20b2a088a39d06a8
3990: 61 36 62 36 34 63 65 34 64 36 34 37 30 64 66 65  a6b64ce4d6470dfe
39a0: 61 64 63 34 66 36 35 61 65 30 36 36 37 32 63 30  adc4f65ae06672c0
39b0: 35 37 65 32 39 66 31 34 63 34 64 61 66 39 0a 0a  57e29f14c4daf9..
39c0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
39d0: 73 68 5f 53 48 41 35 31 32 2d 32 2e 34 32 20 7b  sh_SHA512-2.42 {
39e0: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
39f0: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
3a00: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
3a10: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
3a20: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 64 62  ry decode hex db
3a30: 65 35 64 62 36 38 35 65 64 37 63 62 38 34 38 63  e5db685ed7cb848c
3a40: 30 39 34 35 32 34 63 31 37 32 33 35 31 39 64 34  094524c1723519d4
3a50: 39 64 63 36 36 65 66 39 66 65 36 64 35 37 65 36  9dc66ef9fe6d57e6
3a60: 38 36 32 61 36 34 33 35 37 35 30 62 66 61 30 61  862a6435750bfa0a
3a70: 37 30 66 31 30 34 66 35 64 33 39 36 65 36 31 61  70f104f5d396e61a
3a80: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
3a90: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
3aa0: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
3ab0: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
3ac0: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 32 66 61  xact -result 2fa
3ad0: 36 65 35 62 32 63 34 34 33 61 36 38 30 35 30 66  6e5b2c443a68050f
3ae0: 30 39 33 65 37 66 62 37 31 33 62 64 36 62 31 38  093e7fb713bd6b18
3af0: 66 36 32 37 34 63 30 36 31 65 64 36 31 64 37 39  f6274c061ed61d79
3b00: 62 66 30 36 38 38 61 36 31 64 62 61 31 39 34 30  bf0688a61dba1940
3b10: 62 63 63 33 30 39 39 38 32 37 36 38 36 30 39 34  bcc3099827686094
3b20: 33 61 62 30 33 38 39 30 32 38 39 36 64 30 66 62  3ab038902896d0fb
3b30: 66 35 39 62 38 38 62 30 37 63 38 30 64 65 39 32  f59b88b07c80de92
3b40: 37 30 33 37 30 39 37 31 35 30 63 34 30 0a 0a 74  7037097150c40..t
3b50: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
3b60: 68 5f 53 48 41 35 31 32 2d 32 2e 34 33 20 7b 53  h_SHA512-2.43 {S
3b70: 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c  HA512ShortMsg} \
3b80: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
3b90: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
3ba0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
3bb0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 39 66 61  y decode hex 9fa
3bc0: 38 33 65 39 36 62 32 61 36 64 66 32 33 66 62 33  83e96b2a6df23fb3
3bd0: 37 32 38 39 35 30 31 35 36 37 38 65 30 62 32 63  72895015678e0b2c
3be0: 39 63 64 31 38 61 38 35 34 32 63 33 65 61 61 32  9cd18a8542c3eaa2
3bf0: 63 34 33 35 61 37 36 61 65 34 64 63 39 62 64 35  c435a76ae4dc9bd5
3c00: 31 33 36 64 39 37 30 64 61 66 66 39 33 33 61 63  136d970daff933ac
3c10: 66 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  f]} \..-body {tl
3c20: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
3c30: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
3c40: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
3c50: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 33 61  exact -result 3a
3c60: 32 63 30 65 63 38 38 61 33 65 35 33 34 37 63 66  2c0ec88a3e5347cf
3c70: 30 65 61 39 63 30 37 38 38 33 38 33 30 30 65 66  0ea9c078838300ef
3c80: 37 33 35 36 66 39 61 36 63 33 34 32 30 36 33 32  7356f9a6c3420632
3c90: 37 37 63 31 30 36 62 38 38 30 61 30 30 65 64 32  77c106b880a00ed2
3ca0: 62 65 32 30 35 63 31 33 30 36 34 30 39 37 62 64  be205c13064097bd
3cb0: 33 37 32 66 64 65 33 38 30 30 37 62 63 33 30 36  372fde38007bc306
3cc0: 35 36 31 65 62 34 65 37 34 62 62 61 32 62 62 32  561eb4e74bba2bb2
3cd0: 30 62 64 33 35 34 61 61 36 39 30 63 61 36 0a 0a  0bd354aa690ca6..
3ce0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
3cf0: 73 68 5f 53 48 41 35 31 32 2d 32 2e 34 34 20 7b  sh_SHA512-2.44 {
3d00: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
3d10: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
3d20: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
3d30: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
3d40: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 38 61  ry decode hex 8a
3d50: 35 61 34 35 65 33 39 38 62 61 63 31 64 39 62 38  5a45e398bac1d9b8
3d60: 39 36 62 35 61 32 62 34 65 33 35 36 36 62 39 31  96b5a2b4e3566b91
3d70: 64 38 30 61 64 32 30 63 39 37 37 65 61 37 34 35  d80ad20c977ea745
3d80: 30 66 66 32 65 66 62 35 32 31 64 38 32 66 36 35  0ff2efb521d82f65
3d90: 30 31 39 65 65 37 36 32 65 30 63 38 35 63 36 63  019ee762e0c85c6c
3da0: 63 38 34 31 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  c841]} \..-body 
3db0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
3dc0: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
3dd0: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
3de0: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
3df0: 20 33 63 37 30 34 36 32 30 66 34 30 36 36 64 37   3c704620f4066d7
3e00: 39 63 31 66 66 36 37 37 35 32 39 38 30 66 33 39  9c1ff67752980f39
3e10: 65 66 33 64 39 63 31 30 32 33 66 61 35 61 32 31  ef3d9c1023fa5a21
3e20: 33 61 35 32 36 35 33 37 36 62 31 34 61 31 35 31  3a5265376b14a151
3e30: 36 36 66 66 65 30 36 39 62 35 31 64 66 37 37 31  66ffe069b51df771
3e40: 30 64 38 39 30 37 66 65 66 39 34 30 36 62 66 33  0d8907fef9406bf3
3e50: 37 35 64 35 30 32 63 65 30 38 36 61 63 38 32 61  75d502ce086ac82a
3e60: 66 66 31 37 32 32 39 61 61 61 37 61 35 61 33 33  ff17229aaa7a5a33
3e70: 34 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  4..tcltest::test
3e80: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 34   Hash_SHA512-2.4
3e90: 35 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  5 {SHA512ShortMs
3ea0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
3eb0: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
3ec0: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
3ed0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
3ee0: 20 34 39 63 66 66 66 64 61 66 34 64 30 33 31 65   49cfffdaf4d031e
3ef0: 33 33 62 31 64 32 38 61 34 34 37 34 35 30 35 34  33b1d28a44745054
3f00: 35 66 36 63 34 32 39 33 62 33 38 64 35 61 66 62  5f6c4293b38d5afb
3f10: 63 62 39 38 38 33 39 37 36 63 30 31 34 66 30 38  cb9883976c014f08
3f20: 30 35 37 36 65 63 36 39 31 61 63 31 62 66 66 37  0576ec691ac1bff7
3f30: 30 62 37 34 32 65 66 61 62 5d 7d 20 5c 0a 09 2d  0b742efab]} \..-
3f40: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
3f50: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
3f60: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
3f70: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
3f80: 65 73 75 6c 74 20 38 62 63 63 34 66 31 65 61 32  esult 8bcc4f1ea2
3f90: 62 37 38 36 32 65 66 31 35 39 31 62 66 61 37 33  b7862ef1591bfa73
3fa0: 39 31 36 36 36 35 64 65 38 66 61 66 36 35 34 33  916665de8faf6543
3fb0: 39 64 64 66 35 63 63 31 62 65 34 33 63 65 62 66  9ddf5cc1be43cebf
3fc0: 64 35 66 36 30 66 32 30 35 65 38 33 35 61 32 62  d5f60f205e835a2b
3fd0: 31 38 36 62 36 37 35 62 30 34 31 32 35 38 63 35  186b675b041258c5
3fe0: 63 66 66 34 32 36 36 39 33 31 36 63 65 32 35 62  cff42669316ce25b
3ff0: 34 36 61 32 66 34 64 34 32 31 38 65 31 30 32 66  46a2f4d4218e102f
4000: 30 66 35 64 36 66 0a 0a 74 63 6c 74 65 73 74 3a  0f5d6f..tcltest:
4010: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
4020: 32 2d 32 2e 34 36 20 7b 53 48 41 35 31 32 53 68  2-2.46 {SHA512Sh
4030: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
4040: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
4050: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
4060: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
4070: 65 20 68 65 78 20 32 66 66 38 34 35 64 38 35 65  e hex 2ff845d85e
4080: 66 62 63 34 66 61 35 36 33 37 65 39 34 34 38 64  fbc4fa5637e9448d
4090: 39 35 30 34 39 36 66 31 39 64 38 64 35 37 64 61  950496f19d8d57da
40a0: 39 39 62 37 62 64 33 64 66 37 34 37 34 38 32 32  99b7bd3df7474822
40b0: 66 30 61 37 39 30 35 38 36 37 33 36 34 31 36 37  f0a7905867364167
40c0: 31 34 65 33 36 34 63 36 65 31 66 61 65 30 34 65  14e364c6e1fae04e
40d0: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
40e0: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
40f0: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
4100: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
4110: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 32 33 36  xact -result 236
4120: 66 36 66 34 65 64 36 65 38 35 38 63 30 32 64 35  f6f4ed6e858c02d5
4130: 31 37 38 37 65 36 30 63 35 37 38 66 37 33 31 66  1787e60c578f731f
4140: 36 39 34 66 38 65 35 32 62 35 64 66 34 65 63 64  694f8e52b5df4ecd
4150: 35 62 30 34 64 66 66 31 34 63 37 38 65 35 36 62  5b04dff14c78e56b
4160: 61 64 31 30 32 38 64 36 66 36 32 36 63 32 39 64  ad1028d6f626c29d
4170: 38 35 61 65 65 65 31 35 31 61 32 61 32 38 34 36  85aeee151a2a2846
4180: 64 33 65 65 64 35 63 66 61 66 61 39 38 35 34 61  d3eed5cfafa9854a
4190: 36 39 66 65 61 38 61 66 36 64 30 34 61 0a 0a 74  69fea8af6d04a..t
41a0: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
41b0: 68 5f 53 48 41 35 31 32 2d 32 2e 34 37 20 7b 53  h_SHA512-2.47 {S
41c0: 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c  HA512ShortMsg} \
41d0: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
41e0: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
41f0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
4200: 79 20 64 65 63 6f 64 65 20 68 65 78 20 63 66 63  y decode hex cfc
4210: 61 30 35 66 64 38 39 33 63 30 66 30 30 35 66 35  a05fd893c0f005f5
4220: 66 66 37 39 36 66 34 64 61 31 39 62 61 32 37 61  ff796f4da19ba27a
4230: 31 65 37 32 39 39 35 36 62 38 62 37 31 35 65 36  1e729956b8b715e6
4240: 37 63 65 34 62 32 64 32 61 33 38 32 61 37 32 65  7ce4b2d2a382a72e
4250: 63 37 38 31 34 66 32 66 35 30 37 62 31 38 32 35  c7814f2f507b1825
4260: 32 30 39 61 32 30 66 63 63 5d 7d 20 5c 0a 09 2d  209a20fcc]} \..-
4270: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
4280: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
4290: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
42a0: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
42b0: 65 73 75 6c 74 20 64 38 30 39 36 39 32 38 34 61  esult d80969284a
42c0: 34 35 36 35 61 64 64 34 64 61 64 36 61 62 39 62  4565add4dad6ab9b
42d0: 33 62 64 66 35 33 34 34 36 31 34 32 66 38 34 61  3bdf53446142f84a
42e0: 61 66 39 32 64 34 62 32 33 64 64 32 32 65 65 37  af92d4b23dd22ee7
42f0: 32 34 31 65 36 63 38 31 34 38 39 61 63 38 62 32  241e6c81489ac8b2
4300: 34 36 65 64 63 62 36 64 66 39 62 64 37 62 32 33  46edcb6df9bd7b23
4310: 64 39 31 61 30 63 35 31 37 66 35 34 36 66 65 62  d91a0c517f546feb
4320: 61 34 65 64 35 37 39 30 61 32 62 65 36 65 31 36  a4ed5790a2be6e16
4330: 35 63 31 37 30 39 0a 0a 74 63 6c 74 65 73 74 3a  5c1709..tcltest:
4340: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
4350: 32 2d 32 2e 34 38 20 7b 53 48 41 35 31 32 53 68  2-2.48 {SHA512Sh
4360: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
4370: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
4380: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
4390: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
43a0: 65 20 68 65 78 20 63 66 63 34 32 35 37 35 39 61  e hex cfc425759a
43b0: 39 63 33 36 62 62 39 66 34 62 33 32 65 65 64 37  9c36bb9f4b32eed7
43c0: 37 36 37 61 66 36 35 36 36 66 36 38 64 65 64 30  767af6566f68ded0
43d0: 61 64 65 61 65 32 35 63 37 61 37 30 63 61 37 38  adeae25c7a70ca78
43e0: 65 63 30 39 37 37 34 64 31 36 63 38 62 63 33 35  ec09774d16c8bc35
43f0: 37 66 36 64 36 66 37 62 64 34 34 31 62 66 36 32  7f6d6f7bd441bf62
4400: 64 39 34 32 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  d942]} \..-body 
4410: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
4420: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
4430: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
4440: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
4450: 20 62 35 38 37 61 37 38 35 63 64 66 34 35 35 63   b587a785cdf455c
4460: 63 39 63 35 34 34 65 37 35 36 63 31 65 33 30 36  c9c544e756c1e306
4470: 33 30 30 61 61 33 63 35 39 66 38 37 32 35 30 31  300aa3c59f872501
4480: 32 65 36 38 61 62 34 64 35 34 30 32 30 62 36 64  2e68ab4d54020b6d
4490: 32 32 37 61 31 36 34 64 39 66 38 33 63 39 30 35  227a164d9f83c905
44a0: 65 38 36 66 38 63 65 62 65 65 66 37 30 38 61 36  e86f8cebeef708a6
44b0: 39 66 39 37 36 64 36 65 37 62 31 38 62 39 62 66  9f976d6e7b18b9bf
44c0: 37 38 65 39 62 39 38 63 63 34 61 35 63 64 31 62  78e9b98cc4a5cd1b
44d0: 36 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  6..tcltest::test
44e0: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 34   Hash_SHA512-2.4
44f0: 39 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  9 {SHA512ShortMs
4500: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
4510: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
4520: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
4530: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
4540: 20 30 39 37 63 39 64 62 39 31 39 35 31 35 32 34   097c9db91951524
4550: 32 63 39 39 64 39 37 33 61 63 62 31 64 63 34 65  2c99d973acb1dc4e
4560: 64 34 38 32 37 36 38 66 39 37 34 65 62 38 33 62  d482768f974eb83b
4570: 34 36 35 66 39 66 36 63 38 32 35 30 33 33 37 32  465f9f6c82503372
4580: 30 30 36 65 34 34 39 30 38 33 35 65 32 65 63 38  006e4490835e2ec8
4590: 66 39 32 33 30 31 31 33 30 62 66 62 37 39 30 62  f92301130bfb790b
45a0: 32 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  2]} \..-body {tl
45b0: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
45c0: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
45d0: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
45e0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 66 66  exact -result ff
45f0: 35 61 33 37 36 66 39 33 38 65 37 33 30 31 34 63  5a376f938e73014c
4600: 61 65 66 37 66 65 33 39 36 32 39 34 34 61 37 32  aef7fe3962944a72
4610: 33 30 64 30 32 30 62 37 30 38 37 38 36 39 65 62  30d020b7087869eb
4620: 65 37 65 63 37 30 33 30 32 37 32 31 63 64 30 36  e7ec70302721cd06
4630: 66 63 64 63 39 38 31 63 38 39 33 61 34 32 35 64  fcdc981c893a425d
4640: 30 35 65 32 66 39 39 66 65 31 39 38 65 34 64 62  05e2f99fe198e4db
4650: 35 30 61 30 38 38 61 65 65 32 62 66 31 32 36 33  50a088aee2bf1263
4660: 32 31 32 31 31 30 65 66 65 64 34 32 32 63 0a 0a  212110efed422c..
4670: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
4680: 73 68 5f 53 48 41 35 31 32 2d 32 2e 35 30 20 7b  sh_SHA512-2.50 {
4690: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
46a0: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
46b0: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
46c0: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
46d0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 37 37  ry decode hex 77
46e0: 65 37 33 64 33 38 37 65 37 62 63 38 30 34 31 39  e73d387e7bc80419
46f0: 65 62 66 35 34 38 32 62 36 31 64 35 32 35 35 63  ebf5482b61d5255c
4700: 61 66 38 31 39 66 62 35 39 32 35 31 66 66 36 61  af819fb59251ff6a
4710: 33 38 34 65 37 35 66 36 30 31 65 61 30 32 36 64  384e75f601ea026d
4720: 38 33 65 66 39 35 30 65 64 30 62 36 37 35 31 38  83ef950ed0b67518
4730: 66 62 39 39 64 65 65 30 64 38 61 61 65 66 31 66  fb99dee0d8aaef1f
4740: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
4750: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
4760: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
4770: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
4780: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 63 34 63  xact -result c4c
4790: 38 39 63 64 38 38 32 65 63 39 34 35 63 63 38 38  89cd882ec945cc88
47a0: 38 66 62 39 61 30 31 32 37 64 33 35 65 35 38 35  8fb9a0127d35e585
47b0: 65 63 63 31 34 61 37 35 65 34 62 35 62 33 64 38  ecc14a75e4b5b3d8
47c0: 33 33 30 35 33 38 64 32 32 64 61 32 38 63 66 36  330538d22da28cf6
47d0: 61 66 31 65 62 65 63 39 36 64 63 32 34 37 66 31  af1ebec96dc247f1
47e0: 30 39 63 64 32 61 61 61 62 39 37 35 36 65 36 39  09cd2aaab9756e69
47f0: 34 36 61 33 64 38 30 64 62 38 33 36 33 61 34 64  46a3d80db8363a4d
4800: 61 33 65 36 64 64 62 62 35 31 30 61 31 0a 0a 74  a3e6ddbb510a1..t
4810: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
4820: 68 5f 53 48 41 35 31 32 2d 32 2e 35 31 20 7b 53  h_SHA512-2.51 {S
4830: 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c  HA512ShortMsg} \
4840: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
4850: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
4860: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
4870: 79 20 64 65 63 6f 64 65 20 68 65 78 20 33 31 37  y decode hex 317
4880: 65 35 64 39 61 63 37 33 65 64 30 36 33 33 66 61  e5d9ac73ed0633fa
4890: 31 38 65 62 65 62 62 63 61 37 39 30 39 65 63 33  18ebebbca7909ec3
48a0: 61 35 65 66 37 39 30 34 37 38 66 39 63 33 38 63  a5ef790478f9c38c
48b0: 61 63 65 63 34 34 66 31 39 36 64 38 39 35 38 33  acec44f196d89583
48c0: 35 62 34 32 35 37 37 34 34 38 33 30 34 33 33 34  5b42577448304334
48d0: 31 33 38 31 65 37 61 66 32 64 33 38 33 65 35 31  1381e7af2d383e51
48e0: 61 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  a]} \..-body {tl
48f0: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
4900: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
4910: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
4920: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 62 31  exact -result b1
4930: 30 62 62 30 34 34 39 31 62 39 63 30 63 33 33 34  0bb04491b9c0c334
4940: 37 30 39 62 34 30 37 63 64 61 31 64 35 30 33 65  709b407cda1d503e
4950: 66 62 36 62 36 33 65 65 39 34 34 66 32 64 33 36  fb6b63ee944f2d36
4960: 36 62 36 38 35 35 65 36 65 36 33 65 35 62 38 30  6b6855e6e63e5b80
4970: 31 31 35 62 65 34 62 65 37 66 66 36 33 65 64 65  115be4be7ff63ede
4980: 63 64 66 62 35 39 32 33 37 39 32 65 36 38 31 32  cdfb5923792e6812
4990: 33 39 37 36 64 37 39 32 31 32 62 33 38 38 34 64  3976d79212b3884d
49a0: 65 63 32 31 37 39 64 31 66 63 66 33 38 32 0a 0a  ec2179d1fcf382..
49b0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
49c0: 73 68 5f 53 48 41 35 31 32 2d 32 2e 35 32 20 7b  sh_SHA512-2.52 {
49d0: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
49e0: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
49f0: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
4a00: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
4a10: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 32 30  ry decode hex 20
4a20: 39 34 36 31 66 32 30 36 36 36 61 33 34 36 66 65  9461f20666a346fe
4a30: 64 66 34 61 35 33 30 66 34 31 61 36 66 61 32 38  df4a530f41a6fa28
4a40: 30 63 34 33 36 36 35 37 36 37 62 65 39 32 33 62  0c43665767be923b
4a50: 63 31 64 38 30 62 62 63 62 38 63 39 66 38 66 39  c1d80bbcb8c9f8f9
4a60: 33 61 64 37 35 37 38 32 65 61 32 36 38 39 63 38  3ad75782ea2689c8
4a70: 63 35 64 32 31 31 64 32 30 35 33 62 39 39 33 31  c5d211d2053b9931
4a80: 34 35 61 30 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  45a0]} \..-body 
4a90: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
4aa0: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
4ab0: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
4ac0: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
4ad0: 20 36 37 62 37 61 33 32 38 64 39 34 34 34 30 35   67b7a328d944405
4ae0: 36 61 35 32 63 61 32 66 36 39 35 63 35 64 33 66  6a52ca2f695c5d3f
4af0: 33 62 61 61 66 62 36 32 35 61 31 34 66 62 33 32  3baafb625a14fb32
4b00: 65 65 65 38 66 66 32 36 61 34 30 63 63 62 32 39  eee8ff26a40ccb29
4b10: 36 62 65 63 31 37 37 31 61 38 32 36 62 35 35 66  6bec1771a826b55f
4b20: 37 64 64 62 36 31 37 30 64 34 63 61 66 37 37 39  7ddb6170d4caf779
4b30: 35 62 36 31 32 34 34 38 65 36 36 61 30 66 31 39  5b612448e66a0f19
4b40: 33 35 36 66 65 35 30 35 39 32 37 31 34 39 62 34  356fe505927149b4
4b50: 37 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  7..tcltest::test
4b60: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 35   Hash_SHA512-2.5
4b70: 33 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  3 {SHA512ShortMs
4b80: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
4b90: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
4ba0: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
4bb0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
4bc0: 20 35 64 36 31 61 61 34 35 63 34 34 36 66 33 62   5d61aa45c446f3b
4bd0: 66 39 33 36 30 34 62 30 35 31 31 33 31 33 62 34  f93604b0511313b4
4be0: 65 32 66 33 30 36 64 36 62 30 34 36 66 62 64 39  e2f306d6b046fbd9
4bf0: 34 37 39 37 62 39 32 36 37 34 36 38 33 36 66 32  4797b926746836f2
4c00: 65 31 64 62 64 63 35 36 31 32 34 30 36 30 63 36  e1dbdc56124060c6
4c10: 63 61 39 63 39 31 31 62 31 31 32 32 31 39 32 64  ca9c911b1122192d
4c20: 31 31 32 34 32 30 38 32 37 5d 7d 20 5c 0a 09 2d  112420827]} \..-
4c30: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
4c40: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
4c50: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
4c60: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
4c70: 65 73 75 6c 74 20 64 33 39 33 31 62 64 65 32 62  esult d3931bde2b
4c80: 64 65 38 32 37 31 65 64 31 38 63 61 30 62 39 31  de8271ed18ca0b91
4c90: 34 38 62 31 32 66 36 66 31 36 31 36 31 65 36 33  48b12f6f16161e63
4ca0: 37 65 33 37 36 66 63 39 36 31 66 36 35 62 63 33  7e376fc961f65bc3
4cb0: 33 62 63 61 63 66 32 66 36 61 64 64 66 32 36 61  3bcacf2f6addf26a
4cc0: 33 65 61 61 38 31 62 31 39 36 36 35 33 63 63 33  3eaa81b196653cc3
4cd0: 37 65 38 61 37 33 39 65 63 35 62 33 64 66 38 37  7e8a739ec5b3df87
4ce0: 30 64 38 63 33 38 63 38 66 32 38 36 39 31 63 32  0d8c38c8f28691c2
4cf0: 32 61 33 39 62 62 0a 0a 74 63 6c 74 65 73 74 3a  2a39bb..tcltest:
4d00: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
4d10: 32 2d 32 2e 35 34 20 7b 53 48 41 35 31 32 53 68  2-2.54 {SHA512Sh
4d20: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
4d30: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
4d40: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
4d50: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
4d60: 65 20 68 65 78 20 39 32 38 38 63 37 39 35 62 62  e hex 9288c795bb
4d70: 30 62 38 36 63 30 34 31 39 64 39 63 35 36 33 37  0b86c0419d9c5637
4d80: 64 63 63 33 37 62 33 39 62 66 61 31 38 64 34 34  dcc37b39bfa18d44
4d90: 31 65 33 66 62 66 63 61 37 35 62 63 30 33 30 36  1e3fbfca75bc0306
4da0: 65 35 34 33 32 65 38 65 37 62 33 61 35 36 32 37  e5432e8e7b3a5627
4db0: 62 35 62 63 37 66 64 63 34 32 34 61 37 37 35 32  b5bc7fdc424a7752
4dc0: 30 61 62 64 66 66 35 36 36 65 37 66 32 62 62 38  0abdff566e7f2bb8
4dd0: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
4de0: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
4df0: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
4e00: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
4e10: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 65 33 36  xact -result e36
4e20: 33 64 30 65 39 35 64 38 63 64 31 38 63 33 38 34  3d0e95d8cd18c384
4e30: 30 31 36 65 62 65 65 64 36 64 39 39 63 34 66 61  016ebeed6d99c4fa
4e40: 32 37 36 38 65 32 62 64 35 38 66 63 61 30 31 39  2768e2bd58fca019
4e50: 63 35 31 30 38 62 39 63 64 65 31 63 62 34 36 66  c5108b9cde1cb46f
4e60: 33 66 38 38 34 30 32 38 61 35 35 63 65 32 38 32  3f884028a55ce282
4e70: 65 63 33 31 30 61 31 30 30 33 37 66 61 61 31 62  ec310a10037faa1b
4e80: 31 36 62 34 61 36 61 36 36 39 39 35 37 66 30 62  16b4a6a669957f0b
4e90: 30 30 66 33 35 30 62 62 64 36 33 64 30 0a 0a 74  00f350bbd63d0..t
4ea0: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
4eb0: 68 5f 53 48 41 35 31 32 2d 32 2e 35 35 20 7b 53  h_SHA512-2.55 {S
4ec0: 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c  HA512ShortMsg} \
4ed0: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
4ee0: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
4ef0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
4f00: 79 20 64 65 63 6f 64 65 20 68 65 78 20 37 38 30  y decode hex 780
4f10: 34 32 37 64 63 31 36 34 62 32 66 36 39 62 38 63  427dc164b2f69b8c
4f20: 37 64 35 36 39 32 36 36 66 34 36 31 65 32 64 33  7d569266f461e2d3
4f30: 30 63 38 38 63 34 63 64 36 30 35 37 66 62 30 33  0c88c4cd6057fb03
4f40: 30 61 36 63 66 36 33 36 66 32 34 65 33 63 30 64  0a6cf636f24e3c0d
4f50: 30 64 62 37 34 32 61 37 62 36 31 39 33 66 64 61  0db742a7b6193fda
4f60: 61 31 35 65 65 63 35 30 64 66 62 34 66 61 65 36  a15eec50dfb4fae6
4f70: 65 63 37 36 35 33 63 39 31 5d 7d 20 5c 0a 09 2d  ec7653c91]} \..-
4f80: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
4f90: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
4fa0: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
4fb0: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
4fc0: 65 73 75 6c 74 20 32 39 36 34 62 30 30 39 66 62  esult 2964b009fb
4fd0: 31 62 66 39 39 36 64 65 31 32 65 30 33 30 62 39  1bf996de12e030b9
4fe0: 64 36 65 30 36 30 38 61 65 38 62 39 64 62 66 32  d6e0608ae8b9dbf2
4ff0: 61 63 66 62 39 62 65 62 37 36 66 63 35 33 36 31  acfb9beb76fc5361
5000: 63 63 31 30 34 65 65 38 35 63 32 61 34 36 66 62  cc104ee85c2a46fb
5010: 37 62 34 63 65 65 39 30 38 34 38 33 31 32 64 61  7b4cee90848312da
5020: 33 30 32 64 65 34 39 61 66 65 36 31 63 35 34 36  302de49afe61c546
5030: 34 37 37 65 32 62 32 35 64 32 32 33 64 35 65 33  477e2b25d223d5e3
5040: 64 33 33 35 36 30 0a 0a 74 63 6c 74 65 73 74 3a  d33560..tcltest:
5050: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
5060: 32 2d 32 2e 35 36 20 7b 53 48 41 35 31 32 53 68  2-2.56 {SHA512Sh
5070: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
5080: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
5090: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
50a0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
50b0: 65 20 68 65 78 20 65 63 32 61 39 32 65 34 37 66  e hex ec2a92e47f
50c0: 36 39 32 62 35 33 63 31 33 35 35 34 37 35 63 37  692b53c1355475c7
50d0: 31 63 65 66 66 30 62 30 39 35 32 61 38 62 33 35  1ceff0b0952a8b35
50e0: 34 31 62 32 39 33 38 32 37 30 32 34 37 64 34 34  41b2938270247d44
50f0: 65 37 63 35 63 63 30 34 65 31 37 32 33 36 62 33  e7c5cc04e17236b3
5100: 35 33 64 61 30 32 38 36 37 34 65 61 62 34 30 34  53da028674eab404
5110: 37 64 38 39 65 63 35 64 61 64 38 36 38 63 66 64  7d89ec5dad868cfd
5120: 39 31 63 65 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  91ce]} \..-body 
5130: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
5140: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
5150: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
5160: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
5170: 20 63 38 33 61 63 61 36 31 34 37 62 66 63 62 62   c83aca6147bfcbb
5180: 63 37 32 63 33 37 37 65 66 61 38 64 35 33 36 35  c72c377efa8d5365
5190: 34 62 61 30 38 33 30 63 35 61 36 61 38 39 65 31  4ba0830c5a6a89e1
51a0: 64 32 61 31 39 62 37 31 33 65 36 38 66 62 35 33  d2a19b713e68fb53
51b0: 34 36 34 30 64 65 62 38 33 33 63 61 35 31 32 32  4640deb833ca5122
51c0: 34 37 31 36 36 64 64 32 37 33 62 35 38 39 37 65  47166dd273b5897e
51d0: 35 37 64 35 32 36 66 38 38 65 65 66 35 38 66 36  57d526f88eef58f6
51e0: 66 66 39 37 62 61 65 65 30 62 34 65 65 35 36 34  ff97baee0b4ee564
51f0: 34 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  4..tcltest::test
5200: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 35   Hash_SHA512-2.5
5210: 37 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  7 {SHA512ShortMs
5220: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
5230: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
5240: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
5250: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
5260: 20 63 39 39 65 33 31 61 64 34 65 32 33 61 63 36   c99e31ad4e23ac6
5270: 38 65 31 35 65 36 30 35 64 30 62 30 32 34 33 37  8e15e605d0b02437
5280: 66 38 31 34 37 63 34 34 66 35 34 34 35 61 35 35  f8147c44f5445a55
5290: 62 36 38 61 31 30 39 30 35 32 37 36 63 63 65 38  b68a10905276cce8
52a0: 36 37 36 34 38 31 63 33 33 65 38 63 64 33 65 66  676481c33e8cd3ef
52b0: 65 33 32 32 62 62 31 33 66 65 30 31 30 37 62 62  e322bb13fe0107bb
52c0: 35 34 36 63 63 62 65 63 37 62 38 62 33 38 64 31  546ccbec7b8b38d1
52d0: 30 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  0]} \..-body {tl
52e0: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
52f0: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
5300: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
5310: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 35 32  exact -result 52
5320: 39 39 32 64 34 35 61 38 38 32 32 31 64 39 37 32  992d45a88221d972
5330: 39 35 38 65 39 66 32 38 35 34 61 64 61 61 39 61  958e9f2854adaa9a
5340: 32 31 64 32 62 66 37 30 35 31 65 31 66 31 30 31  21d2bf7051e1f101
5350: 39 61 65 37 38 30 30 34 64 61 35 30 63 35 62 35  9ae78004da50c5b5
5360: 35 63 31 34 34 61 30 32 61 66 66 66 65 35 33 39  5c144a02afffe539
5370: 64 37 35 33 39 34 39 61 32 62 30 35 36 35 33 34  d753949a2b056534
5380: 66 35 62 34 63 32 31 66 32 34 38 61 30 35 62 61  f5b4c21f248a05ba
5390: 61 35 32 61 36 63 33 38 63 37 66 35 64 64 0a 0a  a52a6c38c7f5dd..
53a0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
53b0: 73 68 5f 53 48 41 35 31 32 2d 32 2e 35 38 20 7b  sh_SHA512-2.58 {
53c0: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
53d0: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
53e0: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
53f0: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
5400: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 39 61  ry decode hex 9a
5410: 61 33 65 38 61 64 39 32 37 37 37 64 66 65 62 31  a3e8ad92777dfeb1
5420: 32 31 61 36 34 36 63 65 32 65 39 31 38 64 31 65  21a646ce2e918d1e
5430: 31 32 62 33 30 37 35 34 62 63 30 39 34 37 30 64  12b30754bc09470d
5440: 36 64 61 34 61 66 36 63 63 39 36 34 32 62 30 31  6da4af6cc9642b01
5450: 32 66 30 34 31 66 66 30 34 36 35 36 39 64 34 66  2f041ff046569d4f
5460: 64 38 64 30 64 63 63 66 65 34 34 38 65 35 39 66  d8d0dccfe448e59f
5470: 65 65 66 63 39 30 38 64 39 61 64 35 61 66 36 66  eefc908d9ad5af6f
5480: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
5490: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
54a0: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
54b0: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
54c0: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 39 39 34  xact -result 994
54d0: 64 31 63 64 61 34 64 65 34 30 61 66 66 34 37 31  d1cda4de40aff471
54e0: 33 32 33 37 63 66 39 66 37 38 66 37 30 33 33 61  3237cf9f78f7033a
54f0: 66 38 33 33 36 39 61 63 39 63 36 34 65 35 30 34  f83369ac9c64e504
5500: 30 39 31 65 61 32 66 31 63 61 66 66 36 63 35 31  091ea2f1caff6c51
5510: 35 32 64 36 61 30 63 35 36 30 38 66 38 32 38 38  52d6a0c5608f8288
5520: 36 63 30 30 39 33 62 33 64 37 66 62 61 64 64 34  6c0093b3d7fbadd4
5530: 39 64 66 64 31 66 39 65 30 66 38 35 61 63 63 66  9dfd1f9e0f85accf
5540: 32 33 62 63 37 64 61 64 34 38 39 30 34 0a 0a 74  23bc7dad48904..t
5550: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
5560: 68 5f 53 48 41 35 31 32 2d 32 2e 35 39 20 7b 53  h_SHA512-2.59 {S
5570: 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c  HA512ShortMsg} \
5580: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
5590: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
55a0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
55b0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 35 38 34  y decode hex 584
55c0: 32 35 31 32 63 33 37 33 31 32 35 31 31 61 33 64  2512c37312511a3d
55d0: 38 61 65 34 31 66 35 38 30 31 64 66 36 30 63 64  8ae41f5801df60cd
55e0: 36 38 32 64 35 38 62 34 61 39 39 37 33 34 32 62  682d58b4a997342b
55f0: 36 65 37 31 37 65 39 34 30 30 36 63 32 31 34 38  6e717e94006c2148
5600: 31 33 65 36 63 36 33 65 37 35 35 39 31 66 39 35  13e6c63e75591f95
5610: 37 61 37 65 63 33 30 31 37 37 39 38 33 38 62 65  7a7ec301779838be
5620: 63 38 61 65 33 65 64 37 66 65 62 61 64 30 38 30  c8ae3ed7febad080
5630: 35 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  5]} \..-body {tl
5640: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
5650: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
5660: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
5670: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 39 37  exact -result 97
5680: 36 33 63 34 33 33 33 31 61 64 30 65 62 32 37 39  63c43331ad0eb279
5690: 64 37 30 34 63 35 66 36 65 39 37 65 30 32 64 61  d704c5f6e97e02da
56a0: 38 37 32 34 31 31 35 30 32 36 38 32 37 66 38 38  8724115026827f88
56b0: 39 65 39 66 63 64 61 32 31 66 36 30 66 64 32 33  9e9fcda21f60fd23
56c0: 30 38 39 34 61 62 33 35 61 62 62 37 31 39 38 39  0894ab35abb71989
56d0: 30 66 33 61 66 61 35 31 61 66 64 33 31 62 63 36  0f3afa51afd31bc6
56e0: 38 35 32 31 38 33 62 39 63 35 31 30 35 39 39 31  852183b9c5105991
56f0: 30 61 66 34 36 30 61 62 64 32 34 37 34 64 0a 0a  0af460abd2474d..
5700: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
5710: 73 68 5f 53 48 41 35 31 32 2d 32 2e 36 30 20 7b  sh_SHA512-2.60 {
5720: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
5730: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
5740: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
5750: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
5760: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 63 61  ry decode hex ca
5770: 31 34 65 32 65 61 32 66 33 37 63 37 38 66 37 38  14e2ea2f37c78f78
5780: 65 66 32 38 30 66 35 38 37 30 37 65 63 35 34 39  ef280f58707ec549
5790: 61 33 31 61 39 34 33 36 31 30 37 33 65 33 37 37  a31a94361073e377
57a0: 30 31 62 66 65 35 30 33 65 34 63 30 31 65 65 31  01bfe503e4c01ee1
57b0: 66 32 65 31 32 33 65 30 30 65 38 31 61 31 38 38  f2e123e00e81a188
57c0: 66 30 38 66 61 30 35 30 38 32 35 37 30 39 31 32  f08fa05082570912
57d0: 38 61 39 62 36 36 62 62 38 61 65 36 65 61 34 37  8a9b66bb8ae6ea47
57e0: 65 34 31 64 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  e41d]} \..-body 
57f0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
5800: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
5810: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
5820: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
5830: 20 34 36 30 30 65 30 32 32 61 30 32 32 35 38 37   4600e022a022587
5840: 33 39 66 36 37 66 64 64 33 36 37 63 63 31 65 36  39f67fdd367cc1e6
5850: 36 32 36 33 31 66 62 30 38 37 39 31 38 37 36 38  62631fb087918768
5860: 33 35 32 30 36 32 62 39 62 33 63 38 64 65 38 64  352062b9b3c8de8d
5870: 62 63 61 30 65 39 65 63 37 35 31 62 39 31 66 32  bca0e9ec751b91f2
5880: 38 34 36 39 34 66 62 64 64 62 38 64 33 32 35 63  84694fbddb8d325c
5890: 30 36 33 37 62 63 63 62 32 31 64 64 32 65 66 61  0637bccb21dd2efa
58a0: 39 32 65 34 38 64 62 61 62 32 65 35 65 39 63 32  92e48dbab2e5e9c2
58b0: 36 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  6..tcltest::test
58c0: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 36   Hash_SHA512-2.6
58d0: 31 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  1 {SHA512ShortMs
58e0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
58f0: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
5900: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
5910: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
5920: 20 36 34 37 36 32 39 63 37 37 39 62 32 34 63 31   647629c779b24c1
5930: 65 37 36 66 34 31 37 34 34 61 62 61 31 37 31 35  e76f41744aba1715
5940: 39 34 38 37 35 33 32 61 30 31 35 36 61 37 64 38  9487532a0156a7d8
5950: 32 36 34 64 62 35 30 64 36 34 35 65 39 35 39 35  264db50d645e9595
5960: 66 66 38 31 65 30 63 39 36 61 38 35 30 66 32 61  ff81e0c96a850f2a
5970: 61 35 36 63 38 34 34 63 36 31 33 61 34 62 38 39  a56c844c613a4b89
5980: 32 37 32 37 61 39 62 66 63 33 64 33 65 32 30 33  2727a9bfc3d3e203
5990: 38 36 37 36 36 66 38 30 35 5d 7d 20 5c 0a 09 2d  86766f805]} \..-
59a0: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
59b0: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
59c0: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
59d0: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
59e0: 65 73 75 6c 74 20 35 62 63 38 34 32 66 63 32 64  esult 5bc842fc2d
59f0: 33 62 37 65 62 33 31 64 32 64 33 30 34 34 64 66  3b7eb31d2d3044df
5a00: 33 65 63 33 32 61 66 31 31 34 66 65 61 61 37 63  3ec32af114feaa7c
5a10: 66 63 32 37 65 62 63 38 36 33 30 66 34 36 61 62  fc27ebc8630f46ab
5a20: 36 66 30 63 35 34 33 66 35 39 62 38 31 32 65 37  6f0c543f59b812e7
5a30: 37 36 65 35 33 30 33 38 36 31 64 31 37 64 61 33  76e5303861d17da3
5a40: 66 31 66 31 36 30 39 37 36 34 31 66 33 62 38 30  f1f16097641f3b80
5a50: 38 64 34 64 35 63 62 33 65 34 38 33 39 34 36 34  8d4d5cb3e4839464
5a60: 30 39 37 34 36 63 0a 0a 74 63 6c 74 65 73 74 3a  09746c..tcltest:
5a70: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
5a80: 32 2d 32 2e 36 32 20 7b 53 48 41 35 31 32 53 68  2-2.62 {SHA512Sh
5a90: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
5aa0: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
5ab0: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
5ac0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
5ad0: 65 20 68 65 78 20 31 63 35 64 63 30 64 31 64 64  e hex 1c5dc0d1dd
5ae0: 32 65 34 63 37 31 37 36 33 35 66 66 33 65 39 62  2e4c717635ff3e9b
5af0: 36 37 63 61 66 39 35 37 61 65 63 30 66 38 66 36  67caf957aec0f8f6
5b00: 33 63 31 62 31 65 32 32 31 65 38 30 30 61 34 63  3c1b1e221e800a4c
5b10: 31 34 38 34 38 66 34 65 61 30 36 65 36 34 34 65  14848f4ea06e644e
5b20: 35 64 33 65 31 64 65 35 39 32 65 66 35 61 38 30  5d3e1de592ef5a80
5b30: 30 37 66 61 33 66 30 37 31 37 31 62 32 34 62 64  07fa3f07171b24bd
5b40: 30 37 35 37 38 64 36 38 39 36 33 65 35 63 62 31  07578d68963e5cb1
5b50: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
5b60: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
5b70: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
5b80: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
5b90: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 63 62 66  xact -result cbf
5ba0: 31 65 61 38 36 66 61 35 62 33 64 62 66 36 37 62  1ea86fa5b3dbf67b
5bb0: 65 38 32 66 61 63 34 31 65 38 34 63 63 63 64 30  e82fac41e84cccd0
5bc0: 64 32 39 36 63 37 35 37 31 36 39 62 33 37 38 33  d296c757169b3783
5bd0: 37 64 32 37 33 63 63 63 30 31 35 65 65 63 64 31  7d273ccc015eecd1
5be0: 30 32 62 39 63 65 31 63 66 66 36 38 66 64 63 37  02b9ce1cff68fdc7
5bf0: 66 30 35 64 32 32 66 32 62 37 37 34 37 33 34 66  f05d22f2b774734f
5c00: 36 32 64 65 64 35 34 63 38 65 65 30 62 66 35 37  62ded54c8ee0bf57
5c10: 61 35 61 38 32 30 31 30 64 37 34 66 35 0a 0a 74  a5a82010d74f5..t
5c20: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
5c30: 68 5f 53 48 41 35 31 32 2d 32 2e 36 33 20 7b 53  h_SHA512-2.63 {S
5c40: 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c  HA512ShortMsg} \
5c50: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
5c60: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
5c70: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
5c80: 79 20 64 65 63 6f 64 65 20 68 65 78 20 38 61 35  y decode hex 8a5
5c90: 35 35 65 37 35 34 37 37 64 30 36 35 62 33 61 66  55e75477d065b3af
5ca0: 37 65 36 31 35 34 37 35 66 33 37 63 30 61 36 36  7e615475f37c0a66
5cb0: 37 66 37 33 61 34 63 37 61 66 35 65 34 61 36 39  7f73a4c7af5e4a69
5cc0: 66 32 38 61 36 38 64 39 66 34 34 33 34 37 37 36  f28a68d9f4434776
5cd0: 61 38 66 39 30 65 61 62 37 66 31 64 31 33 37 65  a8f90eab7f1d137e
5ce0: 62 34 62 32 32 36 34 33 63 30 61 30 64 36 61 31  b4b22643c0a0d6a1
5cf0: 36 66 63 66 61 61 31 62 64 36 32 66 32 37 38 33  6fcfaa1bd62f2783
5d00: 35 34 36 61 39 36 39 35 66 5d 7d 20 5c 0a 09 2d  546a9695f]} \..-
5d10: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
5d20: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
5d30: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
5d40: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
5d50: 65 73 75 6c 74 20 63 30 38 38 65 34 61 33 64 37  esult c088e4a3d7
5d60: 64 61 32 66 36 66 39 39 61 38 66 33 66 37 31 37  da2f6f99a8f3f717
5d70: 33 36 31 31 30 38 38 37 32 62 38 66 66 65 66 39  361108872b8ffef9
5d80: 32 31 62 33 38 33 63 32 34 62 38 30 36 31 64 34  21b383c24b8061d4
5d90: 65 37 63 32 37 66 63 35 36 66 34 66 32 30 64 63  e7c27fc56f4f20dc
5da0: 38 66 39 35 32 61 31 34 30 34 33 63 35 36 35 30  8f952a14043c5650
5db0: 62 35 61 39 65 37 37 37 63 34 39 63 34 31 63 66  b5a9e777c49c41cf
5dc0: 65 62 33 66 32 64 65 39 37 65 65 32 65 31 36 62  eb3f2de97ee2e16b
5dd0: 32 63 33 39 32 34 0a 0a 74 63 6c 74 65 73 74 3a  2c3924..tcltest:
5de0: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
5df0: 32 2d 32 2e 36 34 20 7b 53 48 41 35 31 32 53 68  2-2.64 {SHA512Sh
5e00: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
5e10: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
5e20: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
5e30: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
5e40: 65 20 68 65 78 20 65 62 62 33 65 32 61 64 37 38  e hex ebb3e2ad78
5e50: 30 33 35 30 38 62 61 34 36 65 38 31 65 32 32 30  03508ba46e81e220
5e60: 62 31 63 66 66 33 33 65 61 38 33 38 31 35 30 34  b1cff33ea8381504
5e70: 31 31 30 65 39 66 38 30 39 32 65 66 30 38 35 61  110e9f8092ef085a
5e80: 66 65 66 38 34 64 62 30 64 34 33 36 39 33 31 64  fef84db0d436931d
5e90: 30 38 35 64 30 65 31 62 30 36 62 64 32 31 38 63  085d0e1b06bd218c
5ea0: 66 35 37 31 63 37 39 33 33 38 64 61 33 31 61 38  f571c79338da31a8
5eb0: 33 62 34 63 62 31 65 63 36 63 30 36 64 36 62 39  3b4cb1ec6c06d6b9
5ec0: 38 37 36 38 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  8768]} \..-body 
5ed0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
5ee0: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
5ef0: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
5f00: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
5f10: 20 66 33 33 34 32 38 64 38 66 63 36 37 61 61 32   f33428d8fc67aa2
5f20: 63 63 31 61 64 63 62 32 38 32 32 66 33 37 66 32  cc1adcb2822f37f2
5f30: 39 63 62 64 37 32 61 62 66 66 36 38 31 39 30 34  9cbd72abff681904
5f40: 38 33 65 34 31 35 38 32 34 66 30 62 63 65 63 64  83e415824f0bcecd
5f50: 34 34 37 63 62 34 66 30 35 61 39 63 34 37 30 33  447cb4f05a9c4703
5f60: 31 62 39 63 35 30 65 30 34 31 31 63 35 35 32 66  1b9c50e0411c552f
5f70: 33 31 63 64 30 34 63 33 30 63 65 61 32 62 63 36  31cd04c30cea2bc6
5f80: 34 62 63 66 38 32 35 61 35 66 38 61 36 36 30 32  4bcf825a5f8a6602
5f90: 38 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  8..tcltest::test
5fa0: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 36   Hash_SHA512-2.6
5fb0: 35 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  5 {SHA512ShortMs
5fc0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
5fd0: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
5fe0: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
5ff0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
6000: 20 63 31 63 61 37 30 61 65 31 32 37 39 62 61 30   c1ca70ae1279ba0
6010: 62 39 31 38 31 35 37 35 35 38 62 34 39 32 30 64  b918157558b4920d
6020: 36 62 37 66 62 61 38 61 30 36 62 65 35 31 35 31  6b7fba8a06be5151
6030: 37 30 66 32 30 32 66 61 66 64 33 36 66 62 37 66  70f202fafd36fb7f
6040: 37 39 64 36 39 66 61 64 37 34 35 64 62 61 36 31  79d69fad745dba61
6050: 35 30 35 36 38 64 62 31 65 32 62 37 32 38 35 30  50568db1e2b72850
6060: 34 31 31 33 65 65 61 63 33 34 66 35 32 37 66 63  4113eeac34f527fc
6070: 38 32 66 32 32 30 30 62 34 36 32 65 63 62 66 35  82f2200b462ecbf5
6080: 64 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  d]} \..-body {tl
6090: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
60a0: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
60b0: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
60c0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 30 34  exact -result 04
60d0: 36 65 34 36 36 32 33 39 31 32 62 33 39 33 32 62  6e46623912b3932b
60e0: 38 64 36 36 32 61 62 34 32 35 38 33 34 32 33 38  8d662ab425834238
60f0: 34 33 32 30 36 33 30 31 62 35 38 62 66 32 30 61  43206301b58bf20a
6100: 62 36 64 37 36 66 64 34 37 66 31 63 62 62 63 66  b6d76fd47f1cbbcf
6110: 34 32 31 64 66 35 33 36 65 63 64 37 65 35 36 64  421df536ecd7e56d
6120: 62 35 33 35 34 65 37 65 30 66 39 38 38 32 32 64  b5354e7e0f98822d
6130: 32 31 32 39 63 31 39 37 66 36 66 30 66 32 32 32  2129c197f6f0f222
6140: 62 38 65 63 35 32 33 31 66 33 39 36 37 64 0a 0a  b8ec5231f3967d..
6150: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
6160: 73 68 5f 53 48 41 35 31 32 2d 32 2e 36 36 20 7b  sh_SHA512-2.66 {
6170: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
6180: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
6190: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
61a0: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
61b0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 64 33  ry decode hex d3
61c0: 64 64 64 64 66 38 30 35 62 31 36 37 38 61 30 32  ddddf805b1678a02
61d0: 65 33 39 32 30 30 66 36 34 34 30 30 34 37 61 63  e39200f6440047ac
61e0: 62 62 30 36 32 65 34 61 32 66 30 34 36 61 33 63  bb062e4a2f046a3c
61f0: 61 37 66 31 64 64 36 65 62 30 33 61 31 38 62 65  a7f1dd6eb03a18be
6200: 30 30 63 64 31 65 62 31 35 38 37 30 36 61 36 34  00cd1eb158706a64
6210: 61 66 35 38 33 34 63 36 38 63 66 37 66 31 30 35  af5834c68cf7f105
6220: 62 34 31 35 31 39 34 36 30 35 32 32 32 63 39 39  b415194605222c99
6230: 61 32 63 62 66 37 32 63 35 30 63 62 31 34 62 66  a2cbf72c50cb14bf
6240: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
6250: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
6260: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
6270: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
6280: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 62 61 65  xact -result bae
6290: 37 63 35 64 35 39 30 62 66 32 35 61 34 39 33 64  7c5d590bf25a493d
62a0: 38 66 34 38 62 38 62 34 36 33 38 63 63 62 31 30  8f48b8b4638ccb10
62b0: 35 34 31 63 36 37 39 39 36 65 34 37 32 38 37 62  541c67996e47287b
62c0: 39 38 34 33 32 32 30 30 39 64 32 37 64 31 33 34  984322009d27d134
62d0: 38 66 33 65 66 32 39 39 39 66 35 65 65 30 64 33  8f3ef2999f5ee0d3
62e0: 38 65 31 31 32 63 64 35 61 38 30 37 61 35 37 38  8e112cd5a807a578
62f0: 33 30 63 64 63 33 31 38 61 31 31 38 31 65 36 63  30cdc318a1181e6c
6300: 34 36 35 33 63 64 62 38 63 66 31 32 32 0a 0a 74  4653cdb8cf122..t
6310: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
6320: 68 5f 53 48 41 35 31 32 2d 32 2e 36 37 20 7b 53  h_SHA512-2.67 {S
6330: 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c  HA512ShortMsg} \
6340: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
6350: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
6360: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
6370: 79 20 64 65 63 6f 64 65 20 68 65 78 20 38 65 38  y decode hex 8e8
6380: 65 66 38 61 61 33 33 36 62 33 62 39 38 38 39 34  ef8aa336b3b98894
6390: 63 33 31 32 36 63 37 31 38 37 38 39 31 30 36 31  c3126c7187891061
63a0: 38 38 33 38 63 30 30 61 63 38 35 39 30 31 37 33  8838c00ac8590173
63b0: 63 39 31 37 34 39 39 37 32 66 66 33 64 34 32 61  c91749972ff3d42a
63c0: 36 31 31 33 37 30 32 39 61 64 37 34 35 30 31 36  61137029ad745016
63d0: 38 34 66 37 35 65 31 62 38 64 31 64 37 34 33 33  84f75e1b8d1d7433
63e0: 36 61 61 39 30 38 63 34 34 30 38 32 61 65 39 65  6aa908c44082ae9e
63f0: 62 31 36 32 65 39 30 31 38 36 37 66 35 34 39 30  b162e901867f5490
6400: 35 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  5]} \..-body {tl
6410: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
6420: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
6430: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
6440: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 34 31  exact -result 41
6450: 36 37 32 39 33 31 35 35 38 61 39 33 37 36 32 35  672931558a937625
6460: 32 32 62 31 64 35 35 33 38 39 65 63 66 31 62 38  22b1d55389ecf1b8
6470: 63 30 66 65 62 38 62 38 38 66 34 35 38 37 66 62  c0feb8b88f4587fb
6480: 64 34 31 37 63 61 38 30 39 30 35 35 62 30 63 62  d417ca809055b0cb
6490: 36 33 30 64 38 62 65 61 31 33 33 61 62 37 66 36  630d8bea133ab7f6
64a0: 63 66 31 66 32 31 63 36 62 33 35 65 32 65 32 35  cf1f21c6b35e2e25
64b0: 63 30 64 31 39 35 38 33 32 35 38 38 30 38 65 36  c0d19583258808e6
64c0: 63 32 33 65 31 61 37 35 33 33 36 31 30 33 0a 0a  c23e1a75336103..
64d0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
64e0: 73 68 5f 53 48 41 35 31 32 2d 32 2e 36 38 20 7b  sh_SHA512-2.68 {
64f0: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
6500: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
6510: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
6520: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
6530: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 35 32  ry decode hex 52
6540: 37 36 31 65 31 64 61 63 30 65 61 65 61 38 39 38  761e1dac0eaea898
6550: 65 30 62 30 37 63 64 32 34 66 34 62 32 65 36 62  e0b07cd24f4b2e6b
6560: 62 37 62 63 32 30 30 65 61 34 62 30 35 32 38 38  b7bc200ea4b05288
6570: 34 32 66 31 37 62 38 37 31 35 34 35 35 39 61 32  42f17b87154559a2
6580: 65 61 39 34 34 35 39 61 30 65 34 38 30 61 65 30  ea94459a0e480ae0
6590: 62 64 66 39 66 37 35 37 64 64 34 61 33 33 35 61  bdf9f757dd4a335a
65a0: 65 64 30 65 35 31 30 31 33 38 62 30 32 34 61 30  ed0e510138b024a0
65b0: 34 65 64 31 64 35 39 31 62 34 33 32 33 32 33 34  4ed1d591b4323234
65c0: 64 62 64 35 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  dbd5]} \..-body 
65d0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
65e0: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
65f0: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
6600: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
6610: 20 62 38 32 36 66 65 38 30 34 39 34 65 31 39 63   b826fe80494e19c
6620: 35 31 62 34 32 66 32 35 38 32 62 32 64 30 38 30  51b42f2582b2d080
6630: 62 61 36 62 39 30 35 31 32 66 33 35 66 32 64 62  ba6b90512f35f2db
6640: 36 37 64 64 37 66 64 35 65 65 35 33 32 65 61 61  67dd7fd5ee532eaa
6650: 31 36 34 39 38 61 66 62 61 30 38 62 34 39 39 36  16498afba08b4996
6660: 63 62 63 66 64 66 38 64 31 61 32 64 66 36 62 31  cbcfdf8d1a2df6b1
6670: 64 61 39 33 39 65 38 32 36 35 31 31 35 61 34 38  da939e8265115a48
6680: 61 65 66 61 34 32 66 33 38 32 30 35 64 62 34 33  aefa42f38205db43
6690: 36 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  6..tcltest::test
66a0: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 36   Hash_SHA512-2.6
66b0: 39 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  9 {SHA512ShortMs
66c0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
66d0: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
66e0: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
66f0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
6700: 20 33 38 30 34 65 62 63 34 33 63 62 65 61 38 30   3804ebc43cbea80
6710: 63 32 62 64 37 65 34 66 64 61 35 63 35 35 31 35  c2bd7e4fda5c5515
6720: 35 30 30 63 64 32 64 32 62 38 34 36 61 31 33 37  500cd2d2b846a137
6730: 38 64 62 66 32 31 38 64 35 63 33 37 37 31 33 38  8dbf218d5c377138
6740: 36 30 36 65 62 33 63 62 38 61 63 38 38 66 39 30  606eb3cb8ac88f90
6750: 37 36 66 36 66 66 34 34 33 36 66 39 30 37 31 37  76f6ff4436f90717
6760: 34 32 37 63 39 64 66 31 62 61 30 35 32 61 63 62  427c9df1ba052acb
6770: 62 65 34 35 38 35 65 39 38 62 36 65 38 65 30 62  be4585e98b6e8e0b
6780: 66 38 30 30 66 31 39 34 36 5d 7d 20 5c 0a 09 2d  f800f1946]} \..-
6790: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
67a0: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
67b0: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
67c0: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
67d0: 65 73 75 6c 74 20 31 37 64 64 36 64 38 37 62 63  esult 17dd6d87bc
67e0: 36 37 37 33 30 35 31 65 35 32 30 34 37 66 64 34  6773051e52047fd4
67f0: 34 34 39 39 36 61 66 61 38 31 32 34 62 30 34 38  44996afa8124b048
6800: 33 66 65 31 32 31 38 37 37 66 39 38 35 35 33 34  3fe121877f985534
6810: 34 38 37 37 32 62 64 30 65 37 37 35 31 66 63 36  48772bd0e7751fc6
6820: 35 35 65 39 63 63 32 64 32 39 38 33 30 32 31 31  55e9cc2d29830211
6830: 30 31 35 64 33 31 30 66 31 39 31 34 37 34 63 61  015d310f191474ca
6840: 36 61 64 63 30 34 37 37 61 31 38 37 63 30 33 62  6adc0477a187c03b
6850: 38 66 65 32 35 32 0a 0a 74 63 6c 74 65 73 74 3a  8fe252..tcltest:
6860: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
6870: 32 2d 32 2e 37 30 20 7b 53 48 41 35 31 32 53 68  2-2.70 {SHA512Sh
6880: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
6890: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
68a0: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
68b0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
68c0: 65 20 68 65 78 20 32 32 34 39 64 36 39 38 63 34  e hex 2249d698c4
68d0: 64 38 30 37 61 38 65 37 62 34 64 65 32 31 63 34  d807a8e7b4de21c4
68e0: 38 35 37 33 38 39 35 39 61 30 64 36 37 65 35 64  85738959a0d67e5d
68f0: 32 63 61 36 66 37 37 39 38 33 64 66 63 63 62 35  2ca6f77983dfccb5
6900: 64 62 66 34 37 39 33 31 32 36 31 65 31 66 31 35  dbf47931261e1f15
6910: 33 37 66 33 63 62 63 61 32 35 33 61 66 62 36 62  37f3cbca253afb6b
6920: 66 34 66 65 35 65 37 36 37 32 65 31 64 63 63 38  f4fe5e7672e1dcc8
6930: 36 30 62 33 64 36 63 38 64 32 34 33 61 66 65 32  60b3d6c8d243afe2
6940: 64 39 37 35 38 62 33 37 35 65 39 35 35 36 39 32  d9758b375e955692
6950: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
6960: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
6970: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
6980: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
6990: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 36 61 66  xact -result 6af
69a0: 34 34 35 36 33 66 63 34 36 38 64 35 31 31 38 32  44563fc468d51182
69b0: 66 36 63 33 62 65 35 38 64 34 35 39 33 32 61 66  f6c3be58d45932af
69c0: 31 64 39 38 35 63 36 66 32 38 33 39 37 36 63 39  1d985c6f283976c9
69d0: 31 61 39 66 66 34 32 31 66 33 38 33 66 65 32 31  1a9ff421f383fe21
69e0: 64 63 37 33 32 32 66 33 39 37 63 63 65 61 64 35  dc7322f397ccead5
69f0: 38 33 65 32 36 62 33 65 33 66 64 61 30 36 37 39  83e26b3e3fda0679
6a00: 37 36 61 37 66 33 34 36 36 35 64 66 32 35 61 32  76a7f34665df25a2
6a10: 63 65 64 37 62 34 62 30 39 63 64 65 63 0a 0a 74  ced7b4b09cdec..t
6a20: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
6a30: 68 5f 53 48 41 35 31 32 2d 32 2e 37 31 20 7b 53  h_SHA512-2.71 {S
6a40: 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c  HA512ShortMsg} \
6a50: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
6a60: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
6a70: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
6a80: 79 20 64 65 63 6f 64 65 20 68 65 78 20 33 32 61  y decode hex 32a
6a90: 39 63 31 37 30 33 33 36 35 38 63 35 34 66 32 32  9c17033658c54f22
6aa0: 63 37 31 33 35 64 64 66 63 38 37 39 64 65 39 34  c7135ddfc879de94
6ab0: 64 37 39 35 39 33 65 66 32 64 63 37 64 33 30 34  d79593ef2dc7d304
6ac0: 31 62 66 61 38 37 32 37 33 38 33 38 39 38 36 34  1bfa872738389864
6ad0: 65 65 64 61 32 37 38 30 31 37 39 34 63 63 63 34  eeda27801794ccc4
6ae0: 66 66 31 66 63 62 35 65 66 33 66 63 34 38 38 33  ff1fcb5ef3fc4883
6af0: 33 38 30 31 64 36 66 65 39 35 39 65 33 36 32 37  3801d6fe959e3627
6b00: 66 38 65 61 31 35 33 36 61 64 30 30 66 61 39 63  f8ea1536ad00fa9c
6b10: 37 64 37 64 39 66 30 34 33 5d 7d 20 5c 0a 09 2d  7d7d9f043]} \..-
6b20: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
6b30: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
6b40: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
6b50: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
6b60: 65 73 75 6c 74 20 36 61 34 37 36 39 39 64 64 33  esult 6a47699dd3
6b70: 61 64 61 32 66 31 31 62 63 34 65 61 34 32 30 37  ada2f11bc4ea4207
6b80: 32 62 30 36 63 63 32 30 38 35 37 62 66 31 36 34  2b06cc20857bf164
6b90: 34 39 37 64 66 31 32 38 35 34 30 30 63 32 35 30  497df1285400c250
6ba0: 66 35 38 34 38 62 36 66 37 31 39 35 37 64 62 64  f5848b6f71957dbd
6bb0: 63 38 34 35 66 35 64 61 65 61 62 39 31 33 30 33  c845f5daeab91303
6bc0: 36 36 36 31 66 36 39 33 38 37 38 39 33 66 63 32  6661f69387893fc2
6bd0: 64 36 31 63 32 35 66 61 35 39 62 39 64 38 35 62  d61c25fa59b9d85b
6be0: 31 39 66 34 30 31 0a 0a 74 63 6c 74 65 73 74 3a  19f401..tcltest:
6bf0: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
6c00: 32 2d 32 2e 37 32 20 7b 53 48 41 35 31 32 53 68  2-2.72 {SHA512Sh
6c10: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
6c20: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
6c30: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
6c40: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
6c50: 65 20 68 65 78 20 33 64 36 35 66 36 39 61 35 39  e hex 3d65f69a59
6c60: 30 61 35 62 61 61 61 62 63 64 32 37 34 66 65 33  0a5baaabcd274fe3
6c70: 65 66 39 65 38 38 39 32 30 66 66 63 37 61 64 66  ef9e88920ffc7adf
6c80: 30 35 63 31 36 64 37 62 30 66 34 64 31 38 64 37  05c16d7b0f4d18d7
6c90: 32 62 61 63 31 65 39 34 63 33 62 33 64 38 33 62  2bac1e94c3b3d83b
6ca0: 38 66 34 63 35 35 32 65 62 38 30 65 39 66 64 65  8f4c552eb80e9fde
6cb0: 33 39 31 31 34 30 33 66 38 62 30 30 30 35 37 39  3911403f8b000579
6cc0: 38 31 36 66 30 32 65 31 37 31 36 66 64 36 32 37  816f02e1716fd627
6cd0: 39 34 36 30 33 31 64 30 61 66 30 37 39 33 65 37  946031d0af0793e7
6ce0: 66 33 65 31 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  f3e1]} \..-body 
6cf0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
6d00: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
6d10: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
6d20: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
6d30: 20 66 66 62 32 64 39 34 35 30 39 34 33 63 32 34   ffb2d9450943c24
6d40: 62 35 39 33 33 63 32 34 38 31 32 34 35 39 62 37  b5933c24812459b7
6d50: 35 64 33 64 39 66 33 38 30 33 34 34 63 39 62 63  5d3d9f380344c9bc
6d60: 30 36 66 61 33 65 31 37 65 65 34 34 38 65 63 61  06fa3e17ee448eca
6d70: 32 66 39 38 66 66 37 39 66 37 65 32 32 33 35 63  2f98ff79f7e2235c
6d80: 63 64 39 66 39 61 38 31 37 36 66 36 38 61 32 32  cd9f9a8176f68a22
6d90: 35 34 62 62 63 39 62 38 33 34 64 36 61 63 38 64  54bbc9b834d6ac8d
6da0: 32 62 66 64 62 63 31 35 39 37 63 34 33 32 63 39  2bfdbc1597c432c9
6db0: 66 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  f..tcltest::test
6dc0: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 37   Hash_SHA512-2.7
6dd0: 33 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  3 {SHA512ShortMs
6de0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
6df0: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
6e00: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
6e10: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
6e20: 20 37 36 66 66 38 62 32 30 61 31 38 63 66 31 30   76ff8b20a18cf10
6e30: 34 66 36 63 64 62 36 35 65 32 62 61 38 66 36 36  4f6cdb65e2ba8f66
6e40: 65 63 66 38 34 34 61 66 37 65 38 35 65 38 65 66  ecf844af7e85e8ef
6e50: 32 64 61 31 39 65 38 38 34 38 61 31 36 30 35 32  2da19e8848a16052
6e60: 65 63 34 30 35 61 36 34 34 64 61 66 62 35 63 61  ec405a644dafb5ca
6e70: 30 38 65 63 34 38 66 39 37 33 32 37 61 63 35 32  08ec48f97327ac52
6e80: 63 30 65 35 36 32 31 38 34 30 32 63 37 32 61 39  c0e56218402c72a9
6e90: 61 36 64 63 31 63 66 33 34 34 64 35 38 61 37 31  a6dc1cf344d58a71
6ea0: 36 61 37 38 64 37 64 37 35 32 39 36 38 30 62 61  6a78d7d7529680ba
6eb0: 65 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  e]} \..-body {tl
6ec0: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
6ed0: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
6ee0: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
6ef0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 66 38  exact -result f8
6f00: 38 35 38 31 34 34 63 36 64 37 30 39 64 64 30 36  858144c6d709dd06
6f10: 38 39 61 35 32 36 61 35 34 38 61 34 33 66 31 37  89a526a548a43f17
6f20: 34 39 34 39 35 30 62 61 32 61 63 32 30 35 34 34  494950ba2ac20544
6f30: 37 39 39 65 38 65 61 32 37 32 30 31 64 37 38 62  799e8ea27201d78b
6f40: 63 65 35 62 39 32 31 65 32 39 61 37 62 34 30 32  ce5b921e29a7b402
6f50: 39 32 37 38 65 36 38 33 34 31 65 66 32 61 30 63  9278e68341ef2a0c
6f60: 61 34 62 61 33 38 39 34 35 36 36 62 33 63 38 66  a4ba3894566b3c8f
6f70: 38 39 35 30 65 33 65 35 34 35 61 36 38 39 0a 0a  8950e3e545a689..
6f80: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
6f90: 73 68 5f 53 48 41 35 31 32 2d 32 2e 37 34 20 7b  sh_SHA512-2.74 {
6fa0: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
6fb0: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
6fc0: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
6fd0: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
6fe0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 63 61  ry decode hex ca
6ff0: 38 38 64 64 64 66 63 38 37 36 61 31 32 66 34 35  88dddfc876a12f45
7000: 66 31 39 35 36 32 62 63 39 63 61 32 35 30 66 34  f19562bc9ca250f4
7010: 33 32 36 37 61 62 32 35 31 61 37 66 33 34 35 63  3267ab251a7f345c
7020: 33 63 30 32 32 65 32 30 31 34 34 65 31 33 35 36  3c022e20144e1356
7030: 30 34 30 37 38 37 36 32 65 66 35 63 38 61 38 66  04078762ef5c8a8f
7040: 30 33 38 63 66 31 62 31 64 36 61 39 31 37 30 39  038cf1b1d6a91709
7050: 62 35 39 64 64 30 36 38 33 39 36 61 39 65 39 37  b59dd068396a9e97
7060: 31 61 62 36 32 38 66 37 34 38 38 36 65 37 36 35  1ab628f74886e765
7070: 33 38 34 61 32 33 36 30 37 63 31 61 31 65 36 65  384a23607c1a1e6e
7080: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
7090: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
70a0: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
70b0: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
70c0: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 34 66 33  xact -result 4f3
70d0: 64 39 65 65 65 66 33 34 39 63 61 35 31 61 37 65  d9eeef349ca51a7e
70e0: 34 31 39 61 66 31 36 38 36 66 34 32 37 39 35 61  419af1686f42795a
70f0: 62 64 65 35 38 61 38 35 33 33 35 63 65 36 38 64  bde58a85335ce68d
7100: 34 39 36 65 38 31 65 34 34 33 36 61 38 30 61 36  496e81e4436a80a6
7110: 31 64 63 31 34 33 61 34 33 30 30 30 30 38 63 32  1dc143a4300008c2
7120: 33 61 33 65 37 31 66 34 62 61 39 38 37 34 33 31  3a3e71f4ba987431
7130: 39 35 61 33 36 39 34 61 38 64 30 32 66 65 65 31  95a3694a8d02fee1
7140: 31 62 64 33 31 34 35 36 39 61 62 63 30 0a 0a 74  1bd314569abc0..t
7150: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
7160: 68 5f 53 48 41 35 31 32 2d 32 2e 37 35 20 7b 53  h_SHA512-2.75 {S
7170: 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c  HA512ShortMsg} \
7180: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
7190: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
71a0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
71b0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 30 61 37  y decode hex 0a7
71c0: 38 62 31 36 62 34 30 32 36 66 37 65 63 30 36 33  8b16b4026f7ec063
71d0: 64 62 34 65 37 62 37 37 63 34 32 61 32 39 38 65  db4e7b77c42a298e
71e0: 35 32 34 65 32 36 38 30 39 33 63 35 30 33 38 38  524e268093c50388
71f0: 35 33 65 32 31 37 64 63 64 36 35 66 36 36 34 32  53e217dcd65f6642
7200: 38 36 35 30 31 36 35 66 63 61 30 36 61 31 62 34  8650165fca06a1b4
7210: 63 39 63 66 31 35 33 37 66 62 35 64 34 36 33 36  c9cf1537fb5d4636
7220: 33 30 66 66 33 62 64 37 31 63 66 33 32 63 33 35  30ff3bd71cf32c35
7230: 33 38 62 31 66 64 64 61 33 66 65 64 35 63 39 66  38b1fdda3fed5c9f
7240: 36 30 31 32 30 33 33 31 39 62 37 65 31 38 36 39  601203319b7e1869
7250: 61 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  a]} \..-body {tl
7260: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
7270: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
7280: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
7290: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 36 30  exact -result 60
72a0: 39 35 63 33 64 66 35 62 39 64 62 37 63 65 35 32  95c3df5b9db7ce52
72b0: 34 64 37 36 31 32 33 66 37 37 34 32 31 63 65 38  4d76123f77421ce8
72c0: 38 38 62 38 36 61 34 37 37 61 65 38 63 36 64 62  88b86a477ae8c6db
72d0: 31 64 30 62 65 38 64 33 32 36 64 32 32 63 38 35  1d0be8d326d22c85
72e0: 32 39 31 35 61 62 30 33 63 30 63 38 31 61 35 62  2915ab03c0c81a5b
72f0: 37 61 63 37 31 65 32 63 31 34 65 37 34 62 64 61  7ac71e2c14e74bda
7300: 31 37 61 37 38 64 32 62 31 30 35 38 35 66 61 32  17a78d2b10585fa2
7310: 31 34 66 36 35 34 36 65 62 37 31 30 61 30 0a 0a  14f6546eb710a0..
7320: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
7330: 73 68 5f 53 48 41 35 31 32 2d 32 2e 37 36 20 7b  sh_SHA512-2.76 {
7340: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
7350: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
7360: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
7370: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
7380: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 32 30  ry decode hex 20
7390: 66 31 30 65 66 39 61 30 65 36 31 32 38 36 37 35  f10ef9a0e6128675
73a0: 33 34 30 31 37 31 63 64 32 34 38 64 66 33 30 62  340171cd248df30b
73b0: 35 38 36 35 35 37 36 32 30 62 36 31 35 63 61 33  586557620b615ca3
73c0: 39 61 30 30 64 62 35 33 34 33 31 35 61 39 30 31  9a00db534315a901
73d0: 32 64 62 64 62 66 64 36 61 39 39 34 39 38 36 65  2dbdbfd6a994986e
73e0: 62 38 32 39 64 62 65 36 63 64 61 66 33 61 33 37  b829dbe6cdaf3a37
73f0: 64 34 66 35 39 61 63 32 37 32 39 38 37 34 32 63  d4f59ac27298742c
7400: 38 66 37 37 37 62 36 62 31 32 36 37 37 66 32 31  8f777b6b12677f21
7410: 65 62 32 38 39 31 32 39 35 37 39 38 36 38 37 30  eb28912957986870
7420: 35 66 32 37 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  5f27]} \..-body 
7430: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
7440: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
7450: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
7460: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
7470: 20 62 34 65 61 64 33 66 38 36 30 65 61 62 62 64   b4ead3f860eabbd
7480: 33 36 63 37 37 30 64 36 36 63 37 33 35 36 66 38  36c770d66c7356f8
7490: 31 30 37 61 63 64 31 34 38 35 63 37 63 39 34 31  107acd1485c7c941
74a0: 37 38 63 32 65 61 61 62 64 35 30 32 36 36 64 37  78c2eaabd50266d7
74b0: 36 34 35 64 30 30 39 39 37 32 35 38 36 65 66 38  645d009972586ef8
74c0: 33 65 64 34 33 65 64 39 32 38 38 32 31 33 37 64  3ed43ed92882137d
74d0: 66 35 31 31 37 62 38 38 66 33 35 32 33 31 62 38  f5117b88f35231b8
74e0: 39 34 65 63 31 37 34 31 61 65 37 35 30 31 31 34  94ec1741ae750114
74f0: 35 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  5..tcltest::test
7500: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 37   Hash_SHA512-2.7
7510: 37 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  7 {SHA512ShortMs
7520: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
7530: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
7540: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
7550: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
7560: 20 39 39 35 63 38 66 37 34 37 65 61 34 31 38 66   995c8f747ea418f
7570: 37 64 36 33 61 62 61 32 32 36 30 62 33 34 61 63  7d63aba2260b34ac
7580: 33 63 37 64 63 65 65 62 62 37 38 34 33 38 63 61  3c7dceebb78438ca
7590: 34 62 31 66 39 38 32 62 37 64 62 39 37 39 38 65  4b1f982b7db9798e
75a0: 63 31 61 37 66 33 32 36 32 32 32 36 34 63 62 30  c1a7f32622264cb0
75b0: 32 34 63 30 64 39 65 36 30 65 39 35 35 61 36 65  24c0d9e60e955a6e
75c0: 31 64 36 37 37 63 39 32 33 35 31 38 38 35 31 39  1d677c9235188519
75d0: 39 30 61 34 35 39 62 37 36 37 64 30 66 31 33 63  90a459b767d0f13c
75e0: 64 38 30 33 34 36 30 66 36 31 38 37 30 64 62 33  d803460f61870db3
75f0: 33 39 31 62 34 34 36 39 33 5d 7d 20 5c 0a 09 2d  391b44693]} \..-
7600: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
7610: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
7620: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
7630: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
7640: 65 73 75 6c 74 20 61 30 30 61 36 30 31 65 64 65  esult a00a601ede
7650: 61 63 61 38 33 30 34 31 64 63 34 35 32 64 34 33  aca83041dc452d43
7660: 38 61 38 64 65 35 34 39 35 39 34 65 32 35 64 38  8a8de549594e25d8
7670: 34 33 63 32 63 66 36 30 61 30 65 30 30 39 66 62  43c2cf60a0e009fb
7680: 39 32 64 38 37 61 62 65 32 38 61 37 32 36 39 30  92d87abe28a72690
7690: 61 62 36 35 37 63 38 64 33 35 62 34 33 63 64 30  ab657c8d35b43cd0
76a0: 32 64 32 32 65 63 30 37 35 35 64 65 32 32 39 64  2d22ec0755de229d
76b0: 31 66 39 32 32 66 61 36 63 61 31 38 61 36 64 36  1f922fa6ca18a6d6
76c0: 63 32 61 61 61 65 0a 0a 74 63 6c 74 65 73 74 3a  c2aaae..tcltest:
76d0: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
76e0: 32 2d 32 2e 37 38 20 7b 53 48 41 35 31 32 53 68  2-2.78 {SHA512Sh
76f0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
7700: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
7710: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
7720: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
7730: 65 20 68 65 78 20 30 66 65 62 32 33 63 37 65 34  e hex 0feb23c7e4
7740: 61 31 39 62 63 62 64 37 30 62 64 33 30 30 64 37  a19bcbd70bd300d7
7750: 36 65 63 39 30 34 35 64 36 39 36 66 38 63 39 36  6ec9045d696f8c96
7760: 38 37 66 34 39 65 63 34 31 35 34 34 30 30 65 32  87f49ec4154400e2
7770: 33 31 64 32 66 30 38 36 32 34 39 35 31 35 30 63  31d2f0862495150c
7780: 66 32 35 30 62 36 66 31 32 66 31 37 32 61 37 64  f250b6f12f172a7d
7790: 31 33 30 66 38 66 61 35 64 31 37 35 62 66 32 66  130f8fa5d175bf2f
77a0: 32 35 65 32 38 30 31 37 32 63 63 64 66 62 33 32  25e280172ccdfb32
77b0: 37 39 35 31 37 30 31 31 36 35 33 30 32 37 32 38  7951701165302728
77c0: 61 36 31 39 61 61 32 66 32 34 32 36 33 31 63 39  a619aa2f242631c9
77d0: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
77e0: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
77f0: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
7800: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
7810: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 65 65 62  xact -result eeb
7820: 36 64 65 65 33 30 63 31 31 39 66 62 31 65 31 65  6dee30c119fb1e1e
7830: 62 35 63 31 35 66 66 32 62 33 32 64 38 62 39 63  b5c15ff2b32d8b9c
7840: 37 34 36 34 61 34 65 34 63 63 36 38 31 35 63 64  7464a4e4cc6815cd
7850: 32 35 31 61 36 62 61 65 32 39 62 34 39 39 36 31  251a6bae29b49961
7860: 64 64 35 63 32 66 61 39 63 34 34 61 39 62 31 34  dd5c2fa9c44a9b14
7870: 32 63 61 30 36 32 63 37 30 37 32 63 62 66 33 64  2ca062c7072cbf3d
7880: 62 30 34 32 39 39 62 37 36 37 37 38 39 30 34 30  b04299b767789040
7890: 31 39 36 62 66 30 63 30 36 61 61 37 36 0a 0a 74  196bf0c06aa76..t
78a0: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
78b0: 68 5f 53 48 41 35 31 32 2d 32 2e 37 39 20 7b 53  h_SHA512-2.79 {S
78c0: 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c  HA512ShortMsg} \
78d0: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
78e0: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
78f0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
7900: 79 20 64 65 63 6f 64 65 20 68 65 78 20 61 63 35  y decode hex ac5
7910: 39 61 31 31 30 36 32 33 66 31 61 36 34 36 36 36  9a110623f1a64666
7920: 66 31 36 30 65 64 33 32 39 32 36 36 37 36 63 62  f160ed32926676cb
7930: 35 62 65 32 35 64 64 39 64 39 36 32 66 34 34 31  5be25dd9d962f441
7940: 39 35 31 62 30 65 66 63 62 35 64 36 61 36 37 61  951b0efcb5d6a67a
7950: 63 31 61 34 65 61 65 34 37 33 65 34 39 63 36 32  c1a4eae473e49c62
7960: 35 37 38 36 30 37 32 38 38 35 33 66 66 34 31 35  57860728853ff415
7970: 63 35 65 38 65 63 37 36 61 38 61 34 36 32 65 63  c5e8ec76a8a462ec
7980: 66 64 33 34 33 65 65 61 63 32 32 64 61 64 38 32  fd343eeac22dad82
7990: 30 37 32 32 63 35 39 37 33 33 32 66 62 66 64 39  0722c597332fbfd9
79a0: 34 65 62 62 64 33 32 63 36 5d 7d 20 5c 0a 09 2d  4ebbd32c6]} \..-
79b0: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
79c0: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
79d0: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
79e0: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
79f0: 65 73 75 6c 74 20 66 36 35 65 61 39 34 32 61 65  esult f65ea942ae
7a00: 30 61 34 37 65 37 33 62 30 32 62 31 34 34 32 65  0a47e73b02b1442e
7a10: 35 62 32 36 30 38 33 64 62 37 39 33 30 37 66 36  5b26083db79307f6
7a20: 34 64 64 33 34 61 30 33 39 63 34 37 36 66 61 66  4dd34a039c476faf
7a30: 31 38 64 35 63 35 31 34 62 62 37 37 61 32 63 34  18d5c514bb77a2c4
7a40: 31 32 61 36 30 37 34 61 37 61 66 63 33 32 36 65  12a6074a7afc326e
7a50: 61 36 36 63 37 34 65 35 37 30 35 66 65 32 61 62  a66c74e5705fe2ab
7a60: 62 61 62 66 32 37 34 33 33 33 33 32 35 61 31 35  babf274333325a15
7a70: 62 36 31 66 64 39 0a 0a 74 63 6c 74 65 73 74 3a  b61fd9..tcltest:
7a80: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
7a90: 32 2d 32 2e 38 30 20 7b 53 48 41 35 31 32 53 68  2-2.80 {SHA512Sh
7aa0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
7ab0: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
7ac0: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
7ad0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
7ae0: 65 20 68 65 78 20 39 65 33 65 31 30 37 37 65 31  e hex 9e3e1077e1
7af0: 33 33 33 61 31 66 62 31 61 61 36 33 33 63 63 66  333a1fb1aa633ccf
7b00: 32 66 37 34 36 35 38 38 61 64 34 32 36 34 38 39  2f746588ad426489
7b10: 65 61 30 38 64 66 66 35 35 31 31 34 33 38 62 35  ea08dff5511438b5
7b20: 66 34 63 30 62 31 31 30 64 31 61 34 64 34 37 62  f4c0b110d1a4d47b
7b30: 35 34 30 61 31 32 62 32 31 65 61 32 61 61 30 37  540a12b21ea2aa07
7b40: 30 35 37 38 63 63 66 61 35 63 32 32 66 65 30 62  0578ccfa5c22fe0b
7b50: 37 34 33 65 63 30 63 63 36 32 31 63 36 62 33 61  743ec0cc621c6b3a
7b60: 30 33 62 37 35 66 34 64 33 65 65 61 35 64 63 65  03b75f4d3eea5dce
7b70: 38 39 65 30 33 32 36 39 61 66 63 64 39 36 30 33  89e03269afcd9603
7b80: 64 30 64 62 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  d0db]} \..-body 
7b90: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
7ba0: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
7bb0: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
7bc0: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
7bd0: 20 34 62 35 63 35 64 66 38 30 63 33 34 34 63 31   4b5c5df80c344c1
7be0: 32 33 38 38 63 37 32 33 38 35 36 63 64 30 36 39  2388c723856cd069
7bf0: 36 35 62 32 31 39 30 61 66 36 35 32 34 38 30 34  65b2190af6524804
7c00: 37 36 37 34 37 64 63 32 31 39 35 65 61 33 37 31  76747dc2195ea371
7c10: 36 66 38 37 63 31 37 36 32 33 35 39 35 38 33 61  6f87c1762359583a
7c20: 35 66 33 31 35 32 32 66 38 33 66 37 38 33 33 62  5f31522f83f7833b
7c30: 65 63 33 30 66 31 66 34 37 64 31 34 35 34 30 34  ec30f1f47d145404
7c40: 31 37 64 64 34 36 33 66 35 64 32 35 38 63 64 34  17dd463f5d258cd4
7c50: 61 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  a..tcltest::test
7c60: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 38   Hash_SHA512-2.8
7c70: 31 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  1 {SHA512ShortMs
7c80: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
7c90: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
7ca0: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
7cb0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
7cc0: 20 65 38 38 31 65 33 32 38 34 63 37 39 64 38 66   e881e3284c79d8f
7cd0: 35 32 33 37 65 36 39 39 65 34 66 62 63 61 38 34  5237e699e4fbca84
7ce0: 30 39 30 63 36 36 34 62 62 35 33 32 32 39 66 35  090c664bb53229f5
7cf0: 38 63 62 30 38 34 32 62 30 34 33 36 37 31 30 63  8cb0842b0436710c
7d00: 39 62 33 32 39 64 39 38 31 39 31 62 38 66 30 33  9b329d98191b8f03
7d10: 30 65 39 63 31 64 66 38 39 62 30 33 38 35 38 63  0e9c1df89b03858c
7d20: 31 35 36 39 63 36 66 66 34 39 61 37 63 30 37 63  1569c6ff49a7c07c
7d30: 34 61 32 33 61 38 61 34 33 34 62 30 66 64 65 31  4a23a8a434b0fde1
7d40: 33 62 65 34 66 39 34 63 62 34 34 65 65 36 32 39  3be4f94cb44ee629
7d50: 64 35 62 34 34 64 33 33 36 30 39 30 64 33 64 65  d5b44d336090d3de
7d60: 36 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  6]} \..-body {tl
7d70: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
7d80: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
7d90: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
7da0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 31 34  exact -result 14
7db0: 37 64 38 30 37 31 63 37 38 37 31 65 66 39 32 35  7d8071c7871ef925
7dc0: 36 63 66 66 33 32 61 61 36 33 65 61 30 33 31 34  6cff32aa63ea0314
7dd0: 30 34 66 61 35 65 65 34 65 63 30 39 63 35 36 61  04fa5ee4ec09c56a
7de0: 66 64 64 35 64 61 39 31 39 62 30 63 63 38 34 61  fdd5da919b0cc84a
7df0: 39 64 33 35 64 31 34 32 63 34 31 37 37 31 35 32  9d35d142c4177152
7e00: 30 33 33 31 36 30 31 31 63 63 36 32 30 63 64 36  03316011cc620cd6
7e10: 38 35 35 62 62 31 31 37 30 36 33 61 35 65 35 32  855bb117063a5e52
7e20: 38 36 37 66 61 63 63 36 38 30 64 35 66 34 0a 0a  867facc680d5f4..
7e30: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
7e40: 73 68 5f 53 48 41 35 31 32 2d 32 2e 38 32 20 7b  sh_SHA512-2.82 {
7e50: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
7e60: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
7e70: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
7e80: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
7e90: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 65 35  ry decode hex e5
7ea0: 38 35 32 31 30 39 38 39 31 31 35 30 33 64 65 38  8521098911503de8
7eb0: 34 33 31 31 33 38 37 64 33 37 35 63 32 35 39 32  4311387d375c2592
7ec0: 39 65 36 65 35 35 30 37 36 65 62 36 39 33 34 66  9e6e55076eb6934f
7ed0: 64 38 66 32 62 31 62 62 37 62 39 36 36 37 66 62  d8f2b1bb7b9667fb
7ee0: 64 37 36 64 35 65 65 32 30 34 38 32 38 37 36 39  d76d5ee204828769
7ef0: 61 33 34 31 62 31 66 37 31 36 64 61 35 62 64 66  a341b1f716da5bdf
7f00: 65 63 65 36 63 36 32 61 39 66 34 64 34 66 39 38  ece6c62a9f4d4f98
7f10: 38 32 36 37 66 63 65 31 66 35 36 31 35 35 34 30  8267fce1f5615540
7f20: 64 62 65 33 37 35 33 32 34 65 65 66 36 30 37 63  dbe375324eef607c
7f30: 39 31 30 64 39 37 36 62 34 35 61 35 65 61 35 66  910d976b45a5ea5f
7f40: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
7f50: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
7f60: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
7f70: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
7f80: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 66 39 37  xact -result f97
7f90: 62 61 30 35 36 66 61 34 31 66 34 33 62 38 65 31  ba056fa41f43b8e1
7fa0: 39 38 37 30 37 32 61 30 39 65 38 32 38 63 37 31  987072a09e828c71
7fb0: 63 35 66 66 36 61 64 34 65 33 37 66 39 61 62 36  c5ff6ad4e37f9ab6
7fc0: 62 38 39 65 32 61 30 37 38 39 33 33 64 64 32 33  b89e2a078933dd23
7fd0: 30 35 32 66 61 37 32 63 36 36 31 35 62 36 31 33  052fa72c6615b613
7fe0: 39 30 34 32 35 39 65 39 66 66 39 62 35 35 65 66  904259e9ff9b55ef
7ff0: 37 62 39 32 33 62 38 39 62 63 38 37 35 32 66 36  7b923b89bc8752f6
8000: 62 61 62 64 64 64 32 35 36 65 31 31 37 0a 0a 74  babddd256e117..t
8010: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
8020: 68 5f 53 48 41 35 31 32 2d 32 2e 38 33 20 7b 53  h_SHA512-2.83 {S
8030: 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c  HA512ShortMsg} \
8040: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
8050: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
8060: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
8070: 79 20 64 65 63 6f 64 65 20 68 65 78 20 33 37 39  y decode hex 379
8080: 36 63 66 35 31 62 38 37 32 36 36 35 32 61 34 32  6cf51b8726652a42
8090: 30 34 37 33 33 62 38 66 62 62 30 34 37 63 66 30  04733b8fbb047cf0
80a0: 30 66 62 39 31 61 39 38 33 37 65 32 32 65 63 32  0fb91a9837e22ec2
80b0: 32 62 31 61 32 36 38 66 38 38 65 32 63 39 66 31  2b1a268f88e2c9f1
80c0: 33 33 65 35 66 38 35 32 37 66 31 62 31 38 34 38  33e5f8527f1b1848
80d0: 33 30 65 30 37 63 33 34 35 38 63 38 33 61 38 63  30e07c3458c83a8c
80e0: 61 39 66 39 64 39 63 36 39 39 38 37 36 30 65 36  a9f9d9c6998760e6
80f0: 31 30 36 36 38 62 61 30 66 32 32 65 32 32 62 36  10668ba0f22e22b6
8100: 35 36 61 37 33 37 65 39 37 38 62 32 34 36 61 31  56a737e978b246a1
8110: 37 38 34 30 62 37 64 63 34 30 39 31 64 61 38 35  7840b7dc4091da85
8120: 66 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  f]} \..-body {tl
8130: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
8140: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
8150: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
8160: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 63 38  exact -result c8
8170: 61 34 36 36 31 39 39 61 63 62 63 62 63 39 33 66  a466199acbcbc93f
8180: 32 63 65 30 34 32 39 36 38 35 30 38 63 30 34 36  2ce042968508c046
8190: 39 30 31 36 33 31 65 33 31 31 38 61 32 64 30 62  901631e3118a2d0b
81a0: 66 33 39 61 39 62 34 32 62 34 31 39 37 61 33 37  f39a9b42b4197a37
81b0: 39 62 33 61 38 36 63 64 65 63 61 39 64 66 32 64  9b3a86cdeca9df2d
81c0: 65 31 61 33 65 62 37 31 62 37 39 61 65 39 62 66  e1a3eb71b79ae9bf
81d0: 32 64 36 35 37 35 65 61 64 66 31 38 37 38 30 32  2d6575eadf187802
81e0: 39 63 34 30 39 33 31 33 33 66 35 34 64 33 0a 0a  9c4093133f54d3..
81f0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
8200: 73 68 5f 53 48 41 35 31 32 2d 32 2e 38 34 20 7b  sh_SHA512-2.84 {
8210: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
8220: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
8230: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
8240: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
8250: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 39 61  ry decode hex 9a
8260: 66 36 30 38 64 30 33 31 63 63 66 33 30 39 64 37  f608d031ccf309d7
8270: 32 37 33 63 36 30 37 61 38 65 35 65 33 36 38 34  273c607a8e5e3684
8280: 30 64 34 34 39 62 35 35 64 62 35 62 31 33 66 30  0d449b55db5b13f0
8290: 33 61 65 62 39 61 66 34 39 66 61 37 65 37 63 66  3aeb9af49fa7e7cf
82a0: 31 33 38 33 65 65 32 65 64 39 63 35 61 38 62 37  1383ee2ed9c5a8b7
82b0: 35 31 35 66 31 36 66 62 31 63 37 63 38 34 61 36  515f16fb1c7c84a6
82c0: 38 31 35 39 30 62 66 39 30 66 35 36 35 39 37 62  81590bf90f56597b
82d0: 38 34 34 64 62 35 65 62 65 65 32 32 33 64 37 38  844db5ebee223d78
82e0: 31 30 39 62 37 32 33 35 30 37 37 32 66 37 63 37  109b72350772f7c7
82f0: 32 65 61 39 39 36 36 30 33 65 31 65 38 34 66 32  2ea996603e1e84f2
8300: 62 61 35 66 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  ba5f]} \..-body 
8310: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
8320: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
8330: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
8340: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
8350: 20 66 30 64 65 64 39 34 39 35 62 34 66 36 34 63   f0ded9495b4f64c
8360: 61 63 35 38 35 62 65 38 61 37 33 37 63 66 61 31  ac585be8a737cfa1
8370: 34 32 34 37 61 34 61 38 31 63 64 66 37 66 30 31  4247a4a81cdf7f01
8380: 65 62 63 62 31 33 34 61 63 65 37 31 66 35 61 38  ebcb134ace71f5a8
8390: 33 64 66 32 63 64 37 32 65 37 37 37 33 66 65 61  3df2cd72e7773fea
83a0: 31 65 38 32 62 65 61 65 31 37 65 31 33 38 35 37  1e82beae17e13857
83b0: 33 37 32 37 39 32 63 38 32 33 31 65 32 61 62 39  372792c8231e2ab9
83c0: 66 62 65 62 36 33 33 65 33 39 39 64 35 66 30 61  fbeb633e399d5f0a
83d0: 65 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  e..tcltest::test
83e0: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 38   Hash_SHA512-2.8
83f0: 35 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  5 {SHA512ShortMs
8400: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
8410: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
8420: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
8430: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
8440: 20 64 30 64 66 31 62 64 66 31 64 66 36 32 30 33   d0df1bdf1df6203
8450: 32 34 31 37 32 32 66 62 39 63 39 63 31 63 66 37  241722fb9c9c1cf7
8460: 34 30 35 30 31 37 34 39 37 61 65 31 35 34 35 33  405017497ae15453
8470: 38 63 63 66 39 32 32 34 61 64 37 35 32 65 36 63  8ccf9224ad752e6c
8480: 65 31 64 34 61 65 39 34 38 36 33 39 61 63 61 37  e1d4ae948639aca7
8490: 30 63 66 65 38 36 62 32 62 30 36 35 34 33 63 62  0cfe86b2b06543cb
84a0: 39 39 31 34 65 62 64 33 30 38 35 61 61 33 65 32  9914ebd3085aa3e2
84b0: 39 36 33 66 36 65 39 62 39 33 64 30 62 30 33 61  963f6e9b93d0b03a
84c0: 33 31 61 65 32 36 66 63 62 39 63 61 39 37 34 65  31ae26fcb9ca974e
84d0: 65 65 30 31 36 63 30 39 31 61 36 66 63 61 63 33  ee016c091a6fcac3
84e0: 37 62 32 31 63 63 31 64 37 5d 7d 20 5c 0a 09 2d  7b21cc1d7]} \..-
84f0: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
8500: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
8510: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
8520: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
8530: 65 73 75 6c 74 20 63 32 64 61 33 65 61 33 63 38  esult c2da3ea3c8
8540: 61 33 66 64 38 38 61 35 62 63 35 64 65 61 32 62  a3fd88a5bc5dea2b
8550: 63 30 37 36 66 38 36 31 61 62 65 64 65 66 61 65  c076f861abedefae
8560: 35 61 35 66 62 64 39 34 31 64 64 66 64 31 63 34  5a5fbd941ddfd1c4
8570: 31 63 63 33 33 31 32 65 62 32 64 63 38 32 36 63  1cc3312eb2dc826c
8580: 32 63 30 66 36 35 34 31 34 66 65 37 32 65 62 65  2c0f65414fe72ebe
8590: 65 34 34 37 64 32 66 39 62 31 61 36 61 35 36 33  e447d2f9b1a6a563
85a0: 30 32 36 36 30 64 31 66 38 36 36 33 32 65 65 38  02660d1f86632ee8
85b0: 30 61 31 37 35 66 0a 0a 74 63 6c 74 65 73 74 3a  0a175f..tcltest:
85c0: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
85d0: 32 2d 32 2e 38 36 20 7b 53 48 41 35 31 32 53 68  2-2.86 {SHA512Sh
85e0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
85f0: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
8600: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
8610: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
8620: 65 20 68 65 78 20 38 63 62 63 39 34 38 30 35 35  e hex 8cbc948055
8630: 33 61 63 65 66 37 62 63 64 62 61 39 37 31 36 65  3acef7bcdba9716e
8640: 61 38 64 36 36 62 34 31 33 31 37 38 30 39 31 37  a8d66b4131780917
8650: 64 65 32 62 30 62 30 34 38 30 34 35 66 63 62 33  de2b0b048045fcb3
8660: 32 62 35 63 61 63 30 35 34 38 30 38 65 31 66 63  2b5cac054808e1fc
8670: 65 36 65 39 34 61 64 38 35 31 65 63 62 34 37 66  e6e94ad851ecb47f
8680: 65 36 63 62 38 30 32 32 32 35 64 33 35 35 31 65  e6cb802225d3551e
8690: 30 38 65 61 31 32 32 30 39 33 64 30 30 37 38 64  08ea122093d0078d
86a0: 61 64 61 35 36 34 32 31 32 65 61 63 66 31 64 36  ada564212eacf1d6
86b0: 33 39 34 65 30 30 30 37 63 63 36 32 61 31 64 35  394e0007cc62a1d5
86c0: 39 35 61 62 31 34 63 61 30 38 61 32 38 34 62 63  95ab14ca08a284bc
86d0: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
86e0: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
86f0: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
8700: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
8710: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 36 33 62  xact -result 63b
8720: 33 39 62 38 38 63 65 62 38 34 38 31 38 38 62 33  39b88ceb848188b3
8730: 37 33 31 36 65 30 34 35 36 30 65 37 35 61 35 33  7316e04560e75a53
8740: 34 30 61 62 38 64 34 31 37 39 33 32 64 32 33 31  40ab8d417932d231
8750: 63 39 39 37 65 38 39 32 62 34 31 64 61 61 36 39  c997e892b41daa69
8760: 64 39 66 65 33 65 39 61 31 34 64 64 31 39 63 63  d9fe3e9a14dd19cc
8770: 66 62 62 66 61 30 31 34 38 38 63 32 30 38 65 37  fbbfa01488c208e7
8780: 62 39 34 36 63 66 61 66 31 36 63 61 32 62 31 62  b946cfaf16ca2b1b
8790: 66 37 63 38 64 38 64 61 34 65 36 62 32 0a 0a 74  f7c8d8da4e6b2..t
87a0: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
87b0: 68 5f 53 48 41 35 31 32 2d 32 2e 38 37 20 7b 53  h_SHA512-2.87 {S
87c0: 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c  HA512ShortMsg} \
87d0: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
87e0: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
87f0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
8800: 79 20 64 65 63 6f 64 65 20 68 65 78 20 33 38 66  y decode hex 38f
8810: 31 38 34 34 34 38 66 33 63 66 38 32 61 35 34 63  184448f3cf82a54c
8820: 61 66 63 35 35 36 61 66 66 33 33 36 66 32 33 66  afc556aff336f23f
8830: 39 31 34 39 65 36 31 32 31 33 34 62 33 66 63 30  9149e612134b3fc0
8840: 30 63 38 61 35 36 34 35 35 36 35 33 64 38 38 36  0c8a56455653d886
8850: 34 30 62 31 32 66 36 39 30 36 32 62 38 34 33 32  40b12f69062b8432
8860: 63 34 33 33 35 61 64 38 66 37 61 62 34 66 66 36  c4335ad8f7ab4ff6
8870: 36 63 62 37 65 62 35 34 66 33 33 32 35 36 31 61  6cb7eb54f332561a
8880: 33 36 66 30 32 34 64 39 32 63 33 65 32 36 32 37  36f024d92c3e2627
8890: 36 66 34 66 64 34 38 36 31 39 36 32 38 63 66 66  6f4fd48619628cff
88a0: 38 38 65 34 62 38 65 38 35 63 66 31 34 63 61 34  88e4b8e85cf14ca4
88b0: 37 36 37 65 64 39 39 30 64 5d 7d 20 5c 0a 09 2d  767ed990d]} \..-
88c0: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
88d0: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
88e0: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
88f0: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
8900: 65 73 75 6c 74 20 39 61 34 39 32 36 35 66 63 36  esult 9a49265fc6
8910: 34 31 63 35 39 66 31 61 39 31 38 37 32 63 64 61  41c59f1a91872cda
8920: 65 34 39 30 64 33 64 61 37 33 63 30 63 36 30 66  e490d3da73c0c60f
8930: 64 35 39 36 34 38 65 31 64 31 37 64 62 61 31 61  d59648e1d17dba1a
8940: 36 34 37 61 35 62 39 35 36 32 39 33 39 32 62 62  647a5b95629392bb
8950: 34 66 66 35 31 36 33 64 31 61 33 63 62 34 35 34  4ff5163d1a3cb454
8960: 32 37 63 31 34 33 37 61 33 62 32 65 31 64 39 66  27c1437a3b2e1d9f
8970: 30 33 30 63 30 61 38 62 63 63 35 65 64 32 32 64  030c0a8bcc5ed22d
8980: 61 39 65 32 65 64 0a 0a 74 63 6c 74 65 73 74 3a  a9e2ed..tcltest:
8990: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
89a0: 32 2d 32 2e 38 38 20 7b 53 48 41 35 31 32 53 68  2-2.88 {SHA512Sh
89b0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
89c0: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
89d0: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
89e0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
89f0: 65 20 68 65 78 20 37 30 39 30 30 36 31 38 62 31  e hex 70900618b1
8a00: 65 39 65 39 64 62 36 32 32 39 36 66 62 36 63 36  e9e9db62296fb6c6
8a10: 35 39 30 63 39 66 31 30 62 30 61 36 33 32 37 36  590c9f10b0a63276
8a20: 35 63 34 38 39 63 38 38 37 66 31 61 62 37 63 30  5c489c887f1ab7c0
8a30: 37 37 39 31 37 36 35 61 36 32 65 33 38 34 36 35  7791765a62e38465
8a40: 65 31 62 65 32 38 31 62 31 64 33 39 36 63 36 65  e1be281b1d396c6e
8a50: 30 38 30 62 37 65 65 33 65 36 66 61 35 36 61 33  080b7ee3e6fa56a3
8a60: 30 62 39 37 39 39 64 30 65 36 32 39 62 65 31 35  0b9799d0e629be15
8a70: 33 65 65 37 36 66 38 31 62 63 36 61 33 32 39 35  3ee76f81bc6a3295
8a80: 61 61 36 31 34 38 39 62 66 61 38 37 64 35 33 61  aa61489bfa87d53a
8a90: 38 61 64 32 34 32 34 38 61 36 65 64 65 30 64 66  8ad24248a6ede0df
8aa0: 63 66 65 39 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  cfe9]} \..-body 
8ab0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
8ac0: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
8ad0: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
8ae0: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
8af0: 20 31 63 38 63 33 33 35 37 66 66 31 66 38 64 36   1c8c3357ff1f8d6
8b00: 61 63 34 64 65 66 62 33 61 66 34 36 32 61 37 33  ac4defb3af462a73
8b10: 65 30 39 31 35 39 65 33 61 32 30 63 36 35 30 36  e09159e3a20c6506
8b20: 65 64 64 38 63 64 33 30 35 32 64 66 39 34 31 63  edd8cd3052df941c
8b30: 38 31 66 36 38 63 35 66 62 62 38 39 33 39 31 32  81f68c5fbb893912
8b40: 36 31 39 65 32 38 36 34 30 39 37 37 66 65 38 65  619e28640977fe8e
8b50: 61 61 65 38 65 39 64 35 64 34 65 37 64 35 66 31  aae8e9d5d4e7d5f1
8b60: 33 32 35 35 32 63 65 66 61 62 34 35 34 30 62 61  32552cefab4540ba
8b70: 63 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  c..tcltest::test
8b80: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 38   Hash_SHA512-2.8
8b90: 39 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  9 {SHA512ShortMs
8ba0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
8bb0: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
8bc0: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
8bd0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
8be0: 20 34 65 36 64 64 61 65 30 64 38 30 35 61 66 63   4e6ddae0d805afc
8bf0: 64 31 30 61 30 35 35 62 63 65 35 38 34 63 38 34  d10a055bce584c84
8c00: 38 64 30 35 30 66 62 32 39 66 65 38 66 31 63 36  8d050fb29fe8f1c6
8c10: 34 62 31 38 65 31 61 62 66 65 34 36 62 36 35 37  4b18e1abfe46b657
8c20: 38 32 65 36 66 66 35 33 36 65 38 39 64 38 64 34  82e6ff536e89d8d4
8c30: 30 39 32 38 62 34 31 65 64 37 33 37 31 33 36 35  0928b41ed7371365
8c40: 63 38 30 38 30 61 39 36 34 37 66 37 35 33 32 63  c8080a9647f7532c
8c50: 65 36 63 36 64 34 61 63 32 31 63 66 62 30 63 38  e6c6d4ac21cfb0c8
8c60: 30 32 30 37 38 33 38 35 31 65 63 39 61 37 64 62  020783851ec9a7db
8c70: 63 33 39 34 38 66 38 66 63 61 37 61 64 66 38 62  c3948f8fca7adf8b
8c80: 32 61 37 38 63 30 34 64 38 39 38 64 33 31 66 66  2a78c04d898d31ff
8c90: 36 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  6]} \..-body {tl
8ca0: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
8cb0: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
8cc0: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
8cd0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 35 63  exact -result 5c
8ce0: 32 66 39 39 36 63 37 37 39 62 39 31 62 33 63 34  2f996c779b91b3c4
8cf0: 36 33 39 33 31 31 66 35 34 66 61 62 62 64 64 65  639311f54fabbdde
8d00: 37 65 32 32 31 32 62 35 33 64 62 61 65 34 38 32  7e2212b53dbae482
8d10: 38 63 38 33 39 39 35 38 38 66 63 30 30 64 33 62  8c8399588fc00d3b
8d20: 32 61 65 36 30 39 31 38 61 61 61 66 36 62 62 34  2ae60918aaaf6bb4
8d30: 38 62 63 37 35 37 65 35 32 62 32 62 63 65 61 38  8bc757e52b2bcea8
8d40: 34 66 35 64 31 35 62 66 34 65 63 32 35 64 35 35  4f5d15bf4ec25d55
8d50: 31 39 66 62 35 34 66 36 66 32 36 65 31 62 0a 0a  19fb54f6f26e1b..
8d60: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
8d70: 73 68 5f 53 48 41 35 31 32 2d 32 2e 39 30 20 7b  sh_SHA512-2.90 {
8d80: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
8d90: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
8da0: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
8db0: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
8dc0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 36 39  ry decode hex 69
8dd0: 36 38 32 35 66 36 64 36 65 61 38 31 37 33 65 63  6825f6d6ea8173ec
8de0: 34 37 64 30 39 35 39 61 34 30 31 63 34 64 64 66  47d0959a401c4ddf
8df0: 36 39 66 38 66 30 38 64 64 64 36 37 38 61 34 64  69f8f08ddd678a4d
8e00: 32 66 66 39 37 36 65 33 61 34 33 37 32 62 62 33  2ff976e3a4372bb3
8e10: 39 66 34 31 35 39 38 34 35 63 62 36 33 35 38 35  9f4159845cb63585
8e20: 65 31 64 34 31 30 38 64 33 32 65 31 32 66 61 37  e1d4108d32e12fa7
8e30: 63 35 63 39 64 37 63 65 33 35 30 38 61 37 66 35  c5c9d7ce3508a7f5
8e40: 33 61 63 61 32 62 34 62 64 39 35 31 61 64 62 63  3aca2b4bd951adbc
8e50: 64 38 39 38 34 65 62 62 37 35 33 36 35 36 33 66  d8984ebb7536563f
8e60: 35 38 38 34 63 39 30 62 63 35 30 32 33 62 33 33  5884c90bc5023b33
8e70: 31 36 66 37 65 34 64 63 36 39 35 38 66 37 34 33  16f7e4dc6958f743
8e80: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
8e90: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
8ea0: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
8eb0: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
8ec0: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 33 63 65  xact -result 3ce
8ed0: 39 34 30 63 61 39 36 62 30 30 30 31 31 33 37 35  940ca96b00011375
8ee0: 64 61 61 39 35 63 36 35 66 36 36 39 30 37 64 36  daa95c65f66907d6
8ef0: 39 62 33 65 62 33 62 38 64 37 37 39 65 36 66 63  9b3eb3b8d779e6fc
8f00: 39 37 31 61 66 63 63 30 35 65 39 39 30 62 63 34  971afcc05e990bc4
8f10: 63 35 34 31 66 34 33 34 35 39 30 66 36 62 31 38  c541f434590f6b18
8f20: 62 36 38 63 30 38 30 64 30 66 32 34 34 37 35 61  b68c080d0f24475a
8f30: 33 65 37 36 34 65 39 63 62 38 35 33 34 33 33 30  3e764e9cb8534330
8f40: 31 33 31 34 65 65 32 66 62 36 36 31 65 0a 0a 74  1314ee2fb661e..t
8f50: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
8f60: 68 5f 53 48 41 35 31 32 2d 32 2e 39 31 20 7b 53  h_SHA512-2.91 {S
8f70: 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c  HA512ShortMsg} \
8f80: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
8f90: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
8fa0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
8fb0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 37 39 65  y decode hex 79e
8fc0: 63 64 66 64 34 37 61 32 39 61 37 34 32 32 30 61  cdfd47a29a74220a
8fd0: 35 32 38 31 39 63 65 34 35 38 39 37 34 37 66 32  52819ce4589747f2
8fe0: 62 33 30 62 33 36 34 64 30 38 35 32 63 63 65 35  b30b364d0852cce5
8ff0: 32 66 39 31 65 34 66 30 66 34 38 65 36 31 63 37  2f91e4f0f48e61c7
9000: 32 66 61 37 36 62 36 30 64 33 30 30 32 63 61 65  2fa76b60d3002cae
9010: 38 39 64 66 63 35 35 31 39 64 33 34 33 30 62 39  89dfc5519d3430b9
9020: 35 63 30 39 38 66 61 34 36 37 38 35 31 36 62 35  5c098fa4678516b5
9030: 65 33 35 35 31 30 39 65 61 39 62 33 37 34 35 61  e355109ea9b3745a
9040: 61 34 31 64 36 66 38 32 30 36 65 65 36 34 61 65  a41d6f8206ee64ae
9050: 37 32 30 66 38 64 34 34 36 35 33 62 30 30 31 30  720f8d44653b0010
9060: 35 37 66 32 65 62 61 37 66 36 33 63 64 34 32 66  57f2eba7f63cd42f
9070: 39 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  9]} \..-body {tl
9080: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
9090: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
90a0: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
90b0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 62 61  exact -result ba
90c0: 33 64 30 66 65 30 34 34 37 30 66 34 63 66 38 66  3d0fe04470f4cf8f
90d0: 30 38 63 34 36 64 38 32 61 65 33 61 66 64 31 63  08c46d82ae3afd1c
90e0: 61 65 61 38 63 31 33 62 65 62 62 65 30 32 36 62  aea8c13bebbe026b
90f0: 35 63 31 37 37 37 61 61 35 39 38 36 30 61 66 32  5c1777aa59860af2
9100: 65 33 64 61 37 37 35 31 38 34 34 65 30 62 65 32  e3da7751844e0be2
9110: 34 30 37 32 61 66 34 38 62 63 38 61 36 66 64 37  4072af48bc8a6fd7
9120: 37 36 37 38 61 61 65 65 30 34 65 30 38 66 36 33  7678aaee04e08f63
9130: 33 39 35 66 35 63 38 61 34 36 35 37 36 33 0a 0a  395f5c8a465763..
9140: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
9150: 73 68 5f 53 48 41 35 31 32 2d 32 2e 39 32 20 7b  sh_SHA512-2.92 {
9160: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
9170: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
9180: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
9190: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
91a0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 39 32  ry decode hex 92
91b0: 36 33 66 65 37 35 65 38 66 36 63 37 64 35 64 36  63fe75e8f6c7d5d6
91c0: 34 32 65 32 63 61 36 61 36 65 65 61 34 66 34 34  42e2ca6a6eea4f44
91d0: 65 39 61 30 66 32 34 39 35 31 33 65 64 37 39 63  e9a0f249513ed79c
91e0: 39 34 30 39 66 66 63 61 35 35 32 36 63 61 34 34  9409ffca5526ca44
91f0: 39 31 61 65 62 62 31 33 38 32 30 35 37 63 63 37  91aebb1382057cc7
9200: 63 33 36 37 32 32 62 30 62 36 63 33 62 31 35 31  c36722b0b6c3b151
9210: 32 33 63 64 65 33 31 32 32 31 34 66 32 35 33 35  23cde312214f2535
9220: 33 61 62 66 65 33 30 62 63 61 31 37 30 35 36 38  3abfe30bca170568
9230: 61 38 65 31 62 61 35 34 30 38 39 31 37 34 30 33  a8e1ba5408917403
9240: 61 30 31 38 33 34 30 38 30 61 62 36 30 37 63 35  a01834080ab607c5
9250: 36 61 31 30 64 30 32 36 35 30 38 32 34 39 38 66  6a10d0265082498f
9260: 65 30 62 36 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  e0b6]} \..-body 
9270: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
9280: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
9290: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
92a0: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
92b0: 20 37 37 33 36 64 37 61 37 66 63 31 65 62 30 35   7736d7a7fc1eb05
92c0: 38 35 37 63 65 37 64 38 38 61 62 66 66 66 61 38  857ce7d88abfffa8
92d0: 37 66 35 38 63 36 37 30 62 66 64 66 63 30 61 38  7f58c670bfdfc0a8
92e0: 30 33 31 66 36 30 66 33 37 39 65 34 62 36 61 64  031f60f379e4b6ad
92f0: 39 34 61 63 38 66 31 33 66 66 65 32 38 63 36 39  94ac8f13ffe28c69
9300: 37 38 30 39 62 35 63 66 61 63 37 66 31 33 62 65  7809b5cfac7f13be
9310: 30 31 65 37 34 39 36 61 38 35 32 33 37 63 34 30  01e7496a85237c40
9320: 32 35 35 33 39 30 35 31 66 62 32 65 33 32 66 62  25539051fb2e32fb
9330: 36 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  6..tcltest::test
9340: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 39   Hash_SHA512-2.9
9350: 33 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  3 {SHA512ShortMs
9360: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
9370: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
9380: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
9390: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
93a0: 20 37 38 63 31 37 62 66 65 30 65 30 32 65 62 35   78c17bfe0e02eb5
93b0: 32 36 64 31 61 34 34 61 31 61 63 31 32 37 62 65  26d1a44a1ac127be
93c0: 30 38 32 31 38 31 34 35 32 62 36 32 35 33 39 34  082181452b625394
93d0: 62 64 36 64 63 30 39 33 61 32 63 62 34 33 32 65  bd6dc093a2cb432e
93e0: 36 65 65 35 39 63 32 66 38 62 35 35 30 33 61 62  6ee59c2f8b5503ab
93f0: 61 33 30 64 61 65 34 31 65 31 61 31 63 36 37 30  a30dae41e1a1c670
9400: 32 36 39 37 63 39 39 62 32 63 39 34 65 39 34 61  2697c99b2c94e94a
9410: 66 34 38 62 30 30 63 61 66 35 33 62 32 65 30 65  f48b00caf53b2e0e
9420: 34 65 31 62 62 65 65 38 31 65 65 32 38 32 63 37  4e1bbee81ee282c7
9430: 62 32 62 33 35 66 35 38 63 66 34 32 31 61 30 37  b2b35f58cf421a07
9440: 65 38 32 38 64 35 37 61 36 36 32 32 36 32 36 61  e828d57a6622626a
9450: 66 32 35 38 33 35 33 39 39 5d 7d 20 5c 0a 09 2d  f25835399]} \..-
9460: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
9470: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
9480: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
9490: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
94a0: 65 73 75 6c 74 20 62 35 36 62 36 65 33 34 33 31  esult b56b6e3431
94b0: 36 36 33 32 38 35 32 33 65 30 64 31 36 39 33 65  66328523e0d1693e
94c0: 35 31 37 34 64 61 36 34 33 61 65 38 33 63 66 36  5174da643ae83cf6
94d0: 39 63 38 35 61 37 62 33 63 33 62 65 65 32 34 37  9c85a7b3c3bee247
94e0: 62 37 37 62 38 34 37 30 32 30 36 39 64 39 65 36  b77b84702069d9e6
94f0: 62 34 63 61 62 30 33 62 66 31 37 66 65 36 31 32  b4cab03bf17fe612
9500: 30 30 39 62 66 34 32 33 39 36 38 33 63 61 37 38  009bf4239683ca78
9510: 63 61 37 65 38 37 36 61 63 61 37 64 30 37 36 30  ca7e876aca7d0760
9520: 33 62 61 37 31 34 0a 0a 74 63 6c 74 65 73 74 3a  3ba714..tcltest:
9530: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
9540: 32 2d 32 2e 39 34 20 7b 53 48 41 35 31 32 53 68  2-2.94 {SHA512Sh
9550: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
9560: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
9570: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
9580: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
9590: 65 20 68 65 78 20 32 39 38 62 62 33 30 34 61 39  e hex 298bb304a9
95a0: 32 30 66 39 36 30 34 34 37 64 38 66 64 33 38 62  20f960447d8fd38b
95b0: 30 36 31 62 66 38 66 65 34 61 63 31 66 38 37 31  061bf8fe4ac1f871
95c0: 64 38 61 30 66 65 62 34 35 34 39 66 65 62 37 32  d8a0feb4549feb72
95d0: 63 61 36 39 34 61 35 61 34 31 62 36 38 36 37 64  ca694a5a41b6867d
95e0: 39 34 63 64 35 61 66 37 37 64 34 36 38 61 64 32  94cd5af77d468ad2
95f0: 66 33 31 35 64 31 32 37 62 36 63 34 31 61 38 36  f315d127b6c41a86
9600: 32 38 30 30 66 33 39 38 35 65 35 37 33 65 30 33  2800f3985e573e03
9610: 37 37 34 30 32 39 38 65 32 63 35 63 36 31 38 36  7740298e2c5c6186
9620: 61 39 66 62 38 33 36 30 39 62 65 32 64 34 39 66  a9fb83609be2d49f
9630: 38 62 34 63 33 31 66 39 36 61 32 65 34 39 62 35  8b4c31f96a2e49b5
9640: 36 64 62 66 30 39 35 37 31 62 33 38 35 38 37 66  6dbf09571b38587f
9650: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
9660: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
9670: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
9680: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
9690: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 33 34 65  xact -result 34e
96a0: 33 38 37 38 36 32 37 39 30 34 66 66 62 62 62 64  3878627904ffbbbd
96b0: 38 35 32 36 36 63 63 39 37 33 63 33 34 66 39 33  85266cc973c34f93
96c0: 31 65 33 63 61 62 35 64 34 63 33 31 66 38 34 31  1e3cab5d4c31f841
96d0: 63 35 35 33 64 64 36 39 66 38 34 38 33 38 32 30  c553dd69f8483820
96e0: 36 30 36 37 64 66 34 66 39 66 33 62 39 31 30 32  6067df4f9f3b9102
96f0: 30 30 31 62 65 31 39 32 36 37 31 35 31 65 36 37  001be19267151e67
9700: 33 66 35 63 32 64 34 63 32 66 38 34 33 38 61 36  3f5c2d4c2f8438a6
9710: 39 39 39 61 30 61 33 32 35 34 38 37 64 0a 0a 74  999a0a325487d..t
9720: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
9730: 68 5f 53 48 41 35 31 32 2d 32 2e 39 35 20 7b 53  h_SHA512-2.95 {S
9740: 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c  HA512ShortMsg} \
9750: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
9760: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
9770: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
9780: 79 20 64 65 63 6f 64 65 20 68 65 78 20 61 33 63  y decode hex a3c
9790: 66 37 31 34 62 66 31 31 32 36 34 37 65 37 32 37  f714bf112647e727
97a0: 65 38 63 66 64 34 36 34 39 39 61 63 64 33 35 61  e8cfd46499acd35a
97b0: 36 34 30 64 64 33 39 33 64 64 64 32 36 33 63 64  640dd393ddd263cd
97c0: 38 35 63 66 36 32 32 35 66 35 39 38 39 30 61 30  85cf6225f59890a0
97d0: 36 38 36 64 61 64 31 63 35 34 65 62 38 64 38 30  686dad1c54eb8d80
97e0: 39 62 38 31 63 30 38 61 39 38 64 62 61 31 33 31  9b81c08a98dba131
97f0: 62 62 64 64 36 66 63 65 38 66 66 35 39 64 39 35  bbdd6fce8ff59d95
9800: 64 62 38 32 34 64 38 38 33 31 65 61 34 38 30 35  db824d8831ea4805
9810: 32 39 64 61 37 33 39 32 32 37 61 36 65 30 66 36  29da739227a6e0f6
9820: 32 62 36 30 33 62 33 38 63 33 35 63 64 63 32 35  2b603b38c35cdc25
9830: 38 31 66 36 31 34 61 33 31 38 37 39 62 38 62 65  81f614a31879b8be
9840: 35 34 61 65 65 66 61 61 30 5d 7d 20 5c 0a 09 2d  54aeefaa0]} \..-
9850: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
9860: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
9870: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
9880: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
9890: 65 73 75 6c 74 20 36 66 32 33 30 61 65 34 39 30  esult 6f230ae490
98a0: 33 64 64 62 65 66 30 62 61 33 38 34 63 32 65 33  3ddbef0ba384c2e3
98b0: 35 30 36 65 61 62 33 31 38 62 66 64 31 61 34 36  506eab318bfd1a46
98c0: 65 61 37 36 30 39 39 66 36 35 61 33 66 64 35 32  ea76099f65a3fd52
98d0: 39 63 39 31 62 63 32 38 36 35 62 39 66 64 39 34  9c91bc2865b9fd94
98e0: 33 65 33 34 36 64 65 36 34 36 32 36 62 38 35 32  3e346de64626b852
98f0: 39 66 39 64 62 31 33 37 37 62 66 32 63 35 65 30  9f9db1377bf2c5e0
9900: 31 32 39 63 36 36 62 35 30 63 36 61 35 63 66 62  129c66b50c6a5cfb
9910: 33 36 34 62 33 61 0a 0a 74 63 6c 74 65 73 74 3a  364b3a..tcltest:
9920: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
9930: 32 2d 32 2e 39 36 20 7b 53 48 41 35 31 32 53 68  2-2.96 {SHA512Sh
9940: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
9950: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
9960: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
9970: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
9980: 65 20 68 65 78 20 30 61 34 32 37 61 65 35 35 65  e hex 0a427ae55e
9990: 66 33 61 37 65 36 30 34 34 61 30 38 63 66 36 31  f3a7e6044a08cf61
99a0: 32 38 63 62 61 61 61 62 66 64 37 37 36 63 34 65  28cbaaabfd776c4e
99b0: 39 33 37 34 37 30 38 66 32 65 63 65 32 34 36 66  9374708f2ece246f
99c0: 64 37 33 36 30 33 64 32 66 35 34 61 63 33 65 30  d73603d2f54ac3e0
99d0: 31 64 31 36 63 66 61 63 32 62 64 61 66 37 31 33  1d16cfac2bdaf713
99e0: 39 32 30 64 36 36 65 38 66 30 61 33 64 35 34 65  920d66e8f0a3d54e
99f0: 65 36 38 63 66 66 36 34 32 36 37 64 35 35 32 38  e68cff64267d5528
9a00: 63 64 66 32 66 32 39 35 66 34 37 34 64 31 30 66  cdf2f295f474d10f
9a10: 38 31 31 37 33 65 30 31 34 33 34 38 38 61 63 35  81173e0143488ac5
9a20: 33 66 63 35 30 33 63 34 34 34 65 64 32 33 64 65  3fc503c444ed23de
9a30: 63 36 33 61 30 38 30 63 65 39 30 63 32 34 34 33  c63a080ce90c2443
9a40: 64 62 61 38 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  dba8]} \..-body 
9a50: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
9a60: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
9a70: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
9a80: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
9a90: 20 66 36 62 62 65 35 64 30 63 66 31 33 64 64 66   f6bbe5d0cf13ddf
9aa0: 34 31 63 31 34 33 36 37 34 38 61 35 64 31 63 63  41c1436748a5d1cc
9ab0: 61 65 32 39 34 38 35 34 37 62 34 35 32 63 32 31  ae2948547b452c21
9ac0: 37 31 63 37 63 38 65 38 62 36 36 63 36 61 65 34  71c7c8e8b66c6ae4
9ad0: 64 65 33 63 30 65 38 62 32 39 36 32 62 63 62 36  de3c0e8b2962bcb6
9ae0: 30 64 33 64 65 33 36 30 38 34 37 39 66 38 30 65  0d3de3608479f80e
9af0: 34 35 35 63 39 30 32 34 64 39 37 31 36 63 33 38  455c9024d9716c38
9b00: 66 36 66 31 32 30 36 38 36 31 61 62 31 65 61 61  f6f1206861ab1eaa
9b10: 63 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  c..tcltest::test
9b20: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 39   Hash_SHA512-2.9
9b30: 37 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  7 {SHA512ShortMs
9b40: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
9b50: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
9b60: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
9b70: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
9b80: 20 32 63 62 62 62 38 37 35 31 31 66 34 39 34 38   2cbbb87511f4948
9b90: 65 66 65 63 33 61 36 31 62 35 31 31 65 64 65 64  efec3a61b511eded
9ba0: 62 31 64 64 61 38 62 36 65 63 66 63 30 32 31 30  b1dda8b6ecfc0210
9bb0: 63 31 31 65 34 33 61 37 37 65 65 33 32 64 63 32  c11e43a77ee32dc2
9bc0: 65 33 37 34 61 66 61 65 34 32 36 38 65 33 64 33  e374afae4268e3d3
9bd0: 30 34 32 37 38 30 34 38 36 38 32 33 32 61 39 36  0427804868232a96
9be0: 36 62 35 36 30 30 36 64 33 32 31 34 30 33 37 30  6b56006d32140370
9bf0: 37 36 62 66 36 61 32 36 35 62 37 32 31 33 35 61  76bf6a265b72135a
9c00: 66 30 66 62 32 65 66 37 39 30 39 66 65 61 32 64  f0fb2ef7909fea2d
9c10: 65 61 34 31 32 66 37 37 31 37 34 34 36 62 32 37  ea412f7717446b27
9c20: 36 66 66 31 35 33 37 35 33 36 36 32 62 34 64 34  6ff153753662b4d4
9c30: 31 34 38 63 30 32 33 34 37 65 33 32 35 39 31 36  148c02347e325916
9c40: 39 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  9]} \..-body {tl
9c50: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
9c60: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
9c70: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
9c80: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 37 36  exact -result 76
9c90: 38 39 37 62 38 37 61 38 61 31 63 66 38 33 35 63  897b87a8a1cf835c
9ca0: 34 33 34 66 36 64 33 39 31 63 39 65 35 32 32 37  434f6d391c9e5227
9cb0: 33 35 31 61 66 39 64 33 65 32 30 61 33 33 38 39  351af9d3e20a3389
9cc0: 63 37 39 36 62 39 38 62 34 32 34 32 38 31 61 35  c796b98b424281a5
9cd0: 39 30 36 38 64 39 63 38 64 35 36 37 65 63 32 62  9068d9c8d567ec2b
9ce0: 65 62 63 34 33 35 62 30 31 32 36 62 30 35 39 65  ebc435b0126b059e
9cf0: 32 64 38 36 33 39 34 61 39 38 35 34 64 36 36 31  2d86394a9854d661
9d00: 31 65 31 63 39 32 32 66 33 38 35 34 39 36 0a 0a  1e1c922f385496..
9d10: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
9d20: 73 68 5f 53 48 41 35 31 32 2d 32 2e 39 38 20 7b  sh_SHA512-2.98 {
9d30: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
9d40: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
9d50: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
9d60: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
9d70: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 32 62  ry decode hex 2b
9d80: 32 33 33 32 34 63 39 39 39 32 66 36 30 61 37 66  23324c9992f60a7f
9d90: 63 30 31 30 31 35 39 61 30 33 63 62 39 61 32 62  c010159a03cb9a2b
9da0: 32 39 30 64 66 34 66 61 36 61 38 32 33 35 39 62  290df4fa6a82359b
9db0: 39 61 66 36 30 32 66 30 61 34 30 33 61 35 65 66  9af602f0a403a5ef
9dc0: 33 33 65 64 35 64 61 35 62 32 63 61 66 38 37 62  33ed5da5b2caf87b
9dd0: 37 37 65 36 61 34 62 39 33 62 36 35 30 33 34 38  77e6a4b93b650348
9de0: 63 65 32 61 37 64 62 63 30 38 66 38 64 61 39 32  ce2a7dbc08f8da92
9df0: 30 33 64 37 31 30 62 35 38 37 62 61 35 39 34 37  03d710b587ba5947
9e00: 63 36 35 65 38 39 39 66 34 61 37 35 39 66 38 65  c65e899f4a759f8e
9e10: 32 62 30 34 39 61 65 37 38 35 30 61 38 65 33 65  2b049ae7850a8e3e
9e20: 32 39 36 32 66 36 65 66 39 33 65 61 34 63 36 33  2962f6ef93ea4c63
9e30: 31 64 65 35 64 37 38 65 37 32 39 65 63 35 62 63  1de5d78e729ec5bc
9e40: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
9e50: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
9e60: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
9e70: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
9e80: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 33 62 65  xact -result 3be
9e90: 65 61 30 62 33 37 33 65 64 30 39 63 66 31 63 39  ea0b373ed09cf1c9
9ea0: 31 39 63 35 31 64 38 36 64 36 34 32 63 39 31 32  19c51d86d642c912
9eb0: 35 65 30 65 65 38 31 36 39 38 64 63 34 63 62 61  5e0ee81698dc4cba
9ec0: 64 66 30 32 65 39 65 36 39 32 35 65 66 62 35 36  df02e9e6925efb56
9ed0: 32 66 64 39 62 38 37 33 30 31 61 36 33 37 37 63  2fd9b87301a6377c
9ee0: 61 31 39 32 62 65 37 39 63 34 31 31 38 64 65 61  a192be79c4118dea
9ef0: 62 63 34 35 30 62 35 34 36 33 39 30 30 30 63 32  bc450b54639000c2
9f00: 65 33 31 32 39 34 35 34 35 31 66 62 35 0a 0a 74  e312945451fb5..t
9f10: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
9f20: 68 5f 53 48 41 35 31 32 2d 32 2e 39 39 20 7b 53  h_SHA512-2.99 {S
9f30: 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c  HA512ShortMsg} \
9f40: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
9f50: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
9f60: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
9f70: 79 20 64 65 63 6f 64 65 20 68 65 78 20 34 30 32  y decode hex 402
9f80: 32 66 39 33 30 63 37 30 33 33 62 30 30 64 39 38  2f930c7033b00d98
9f90: 36 63 36 35 66 66 36 62 62 62 64 66 39 65 62 64  6c65ff6bbbdf9ebd
9fa0: 30 65 35 38 63 35 32 38 34 34 66 66 36 35 38 64  0e58c52844ff658d
9fb0: 66 33 38 39 33 63 33 32 30 32 64 63 35 33 33 66  f3893c3202dc533f
9fc0: 38 37 33 64 34 61 37 66 35 61 35 66 39 34 34 34  873d4a7f5a5f9444
9fd0: 31 39 66 62 35 35 32 38 63 39 62 36 37 38 38 34  19fb5528c9b67884
9fe0: 37 39 61 31 65 38 39 31 33 30 36 61 63 61 65 37  79a1e891306acae7
9ff0: 39 39 35 66 63 30 36 64 62 37 30 61 35 39 62 61  995fc06db70a59ba
a000: 61 39 35 62 65 66 37 64 61 37 39 66 35 65 37 39  a95bef7da79f5e79
a010: 33 66 32 64 62 37 66 32 61 35 35 38 32 35 65 34  3f2db7f2a55825e4
a020: 66 64 62 34 61 33 34 38 38 34 61 66 38 38 31 64  fdb4a34884af881d
a030: 65 64 31 30 38 39 66 64 35 33 33 34 35 30 32 61  ed1089fd5334502a
a040: 32 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  2]} \..-body {tl
a050: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
a060: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
a070: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
a080: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 30 33  exact -result 03
a090: 35 38 37 37 35 62 62 62 37 33 33 63 63 63 34 39  58775bbb733ccc49
a0a0: 65 37 38 66 35 34 34 61 65 65 65 35 31 32 33 37  e78f544aeee51237
a0b0: 30 64 34 38 30 64 30 65 31 33 63 37 65 38 64 35  0d480d0e13c7e8d5
a0c0: 63 34 34 34 63 34 32 33 65 35 39 32 31 34 36 62  c444c423e592146b
a0d0: 34 35 66 64 62 39 31 61 31 62 36 39 34 64 33 35  45fdb91a1b694d35
a0e0: 65 33 36 62 36 30 65 34 62 63 38 33 39 37 66 63  e36b60e4bc8397fc
a0f0: 61 38 62 62 39 37 39 30 65 36 31 39 33 33 39 37  a8bb9790e6193397
a100: 37 38 62 39 63 64 31 61 62 65 33 66 65 39 0a 0a  78b9cd1abe3fe9..
a110: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
a120: 73 68 5f 53 48 41 35 31 32 2d 32 2e 31 30 30 20  sh_SHA512-2.100 
a130: 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d  {SHA512ShortMsg}
a140: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73   \..-constraints
a150: 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75   SHA512 \..-setu
a160: 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e  p {set data [bin
a170: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 31  ary decode hex 1
a180: 63 62 37 37 62 61 34 33 63 65 37 37 65 32 33 36  cb77ba43ce77e236
a190: 62 39 66 63 39 32 35 66 35 38 39 62 31 63 30 37  b9fc925f589b1c07
a1a0: 30 37 38 30 61 38 34 66 39 39 65 38 66 35 30 63  0780a84f99e8f50c
a1b0: 31 66 66 38 34 36 61 63 39 32 35 39 39 63 66 65  1ff846ac92599cfe
a1c0: 39 31 36 31 32 63 38 31 37 38 33 32 35 62 65 65  91612c8178325bee
a1d0: 36 34 32 61 33 34 66 34 64 66 66 64 62 61 32 61  642a34f4dffdba2a
a1e0: 61 32 65 62 63 66 37 30 36 34 33 33 39 38 32 39  a2ebcf7064339829
a1f0: 62 32 36 66 32 37 39 39 33 65 31 31 30 36 63 31  b26f27993e1106c1
a200: 33 39 63 37 30 64 35 37 38 63 63 30 35 66 30 65  39c70d578cc05f0e
a210: 31 61 37 37 37 63 63 65 64 64 62 31 30 61 32 63  1a777cceddb10a2c
a220: 36 37 66 64 39 36 37 35 65 34 61 30 30 39 64 66  67fd9675e4a009df
a230: 38 30 33 37 64 36 65 65 62 33 38 66 35 66 62 61  8037d6eeb38f5fba
a240: 32 33 33 64 66 5d 7d 20 5c 0a 09 2d 62 6f 64 79  233df]} \..-body
a250: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
a260: 69 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61  igest SHA512 -da
a270: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
a280: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
a290: 74 20 36 35 30 32 66 34 36 35 35 31 61 33 66 61  t 6502f46551a3fa
a2a0: 62 33 61 39 36 34 32 38 66 62 39 37 38 30 31 64  b3a96428fb97801d
a2b0: 37 61 34 61 61 32 66 31 37 66 65 66 36 36 30 33  7a4aa2f17fef6603
a2c0: 32 33 38 64 66 38 34 65 31 37 63 37 34 33 30 39  238df84e17c74309
a2d0: 65 64 33 64 39 34 38 39 63 38 62 31 36 61 39 33  ed3d9489c8b16a93
a2e0: 38 34 65 65 36 33 34 61 33 66 38 36 64 30 62 33  84ee634a3f86d0b3
a2f0: 62 61 39 61 34 64 62 63 39 63 35 31 65 63 38 62  ba9a4dbc9c51ec8b
a300: 64 34 62 66 38 64 36 31 64 65 36 64 33 64 38 37  d4bf8d61de6d3d87
a310: 64 37 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  d7..tcltest::tes
a320: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e  t Hash_SHA512-2.
a330: 31 30 31 20 7b 53 48 41 35 31 32 53 68 6f 72 74  101 {SHA512Short
a340: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
a350: 69 6e 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d  ints SHA512 \..-
a360: 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20  setup {set data 
a370: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
a380: 65 78 20 35 32 31 36 37 64 65 32 64 36 63 35 30  ex 52167de2d6c50
a390: 32 64 39 39 66 61 31 30 63 32 37 62 32 61 62 36  2d99fa10c27b2ab6
a3a0: 32 30 33 62 64 65 62 63 32 63 61 66 62 62 66 64  203bdebc2cafbbfd
a3b0: 65 66 31 35 38 37 32 61 34 33 64 64 36 31 30 63  ef15872a43dd610c
a3c0: 32 33 36 32 66 37 39 36 61 64 39 62 63 62 35 35  2362f796ad9bcb55
a3d0: 32 38 64 39 35 38 37 30 30 35 38 66 61 34 35 34  28d95870058fa454
a3e0: 34 35 33 66 31 65 36 30 36 35 62 33 31 35 64 34  453f1e6065b315d4
a3f0: 31 30 61 33 66 32 36 35 30 65 35 64 37 31 65 36  10a3f2650e5d71e6
a400: 39 64 37 38 64 39 37 36 37 64 66 62 34 61 63 63  9d78d9767dfb4acc
a410: 63 30 35 37 66 64 32 30 36 39 32 36 36 62 30 66  c057fd2069266b0f
a420: 31 38 30 63 62 33 31 39 65 33 30 64 65 64 37 35  180cb319e30ded75
a430: 33 35 62 62 65 35 32 64 32 34 62 65 31 35 31 64  35bbe52d24be151d
a440: 65 34 62 62 35 39 38 66 63 35 63 5d 7d 20 5c 0a  e4bb598fc5c]} \.
a450: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
a460: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
a470: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
a480: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
a490: 2d 72 65 73 75 6c 74 20 32 35 63 62 33 65 64 33  -result 25cb3ed3
a4a0: 39 38 33 61 39 31 62 34 63 66 33 37 61 36 35 31  983a91b4cf37a651
a4b0: 39 33 39 31 36 63 35 65 33 65 32 31 31 62 36 33  93916c5e3e211b63
a4c0: 65 39 34 33 65 32 66 37 62 35 30 61 38 35 64 33  e943e2f7b50a85d3
a4d0: 34 39 61 34 36 33 62 39 34 31 61 61 64 33 33 65  49a463b941aad33e
a4e0: 66 66 31 36 35 36 31 62 64 66 64 63 39 32 66 64  ff16561bdfdc92fd
a4f0: 61 30 36 61 34 65 31 64 39 34 62 31 36 32 64 65  a06a4e1d94b162de
a500: 34 38 66 30 36 64 33 63 36 32 36 39 34 30 62 33  48f06d3c626940b3
a510: 31 30 32 30 39 32 35 66 0a 0a 74 63 6c 74 65 73  1020925f..tcltes
a520: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
a530: 35 31 32 2d 32 2e 31 30 32 20 7b 53 48 41 35 31  512-2.102 {SHA51
a540: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
a550: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
a560: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
a570: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
a580: 63 6f 64 65 20 68 65 78 20 63 65 64 65 36 36 39  code hex cede669
a590: 37 64 34 32 32 64 64 61 61 37 38 65 32 64 35 35  7d422ddaa78e2d55
a5a0: 61 65 30 38 30 62 38 62 39 65 39 33 35 36 63 36  ae080b8b9e9356c6
a5b0: 39 62 63 35 35 38 32 30 31 61 32 64 34 62 30 62  9bc558201a2d4b0b
a5c0: 33 31 39 30 61 38 31 32 63 32 37 62 33 34 62 62  3190a812c27b34bb
a5d0: 63 65 65 33 61 36 32 62 37 38 31 33 37 38 62 31  cee3a62b781378b1
a5e0: 62 66 36 33 36 62 33 37 32 62 63 62 61 65 31 66  bf636b372bcbae1f
a5f0: 61 32 66 38 31 36 61 30 34 36 61 30 61 36 34 39  a2f816a046a0a649
a600: 61 35 63 35 35 35 63 36 34 31 66 65 61 34 63 63  a5c555c641fea4cc
a610: 64 38 34 31 63 63 37 36 31 66 33 38 66 37 37 37  d841cc761f38f777
a620: 39 37 32 66 38 63 39 31 62 30 33 32 34 65 37 31  972f8c91b0324e71
a630: 63 33 33 33 63 65 37 38 37 66 30 34 37 34 31 34  c333ce787f047414
a640: 33 39 62 66 30 38 37 65 66 35 65 38 39 35 30 31  39bf087ef5e89501
a650: 31 63 30 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  1c0]} \..-body {
a660: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
a670: 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74 61  est SHA512 -data
a680: 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63   $data} \..-matc
a690: 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20  h exact -result 
a6a0: 30 62 65 34 32 61 32 35 64 37 37 61 63 36 61 64  0be42a25d77ac6ad
a6b0: 39 39 35 63 36 62 65 34 38 65 37 38 33 33 38 30  995c6be48e783380
a6c0: 62 61 64 32 35 61 36 31 37 33 32 66 38 37 63 65  bad25a61732f87ce
a6d0: 66 62 30 63 63 65 31 61 37 36 39 63 64 36 39 30  fb0cce1a769cd690
a6e0: 38 31 66 34 39 34 61 31 61 31 32 64 36 35 37 36  81f494a1a12d6576
a6f0: 36 34 65 66 32 62 34 64 39 63 34 31 66 32 65 65  64ef2b4d9c41f2ee
a700: 38 33 66 36 65 39 61 38 34 33 32 37 64 38 37 35  83f6e9a84327d875
a710: 36 61 66 39 66 39 38 35 35 39 35 65 37 64 33 62  6af9f985595e7d3b
a720: 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20  ..tcltest::test 
a730: 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 31 30  Hash_SHA512-2.10
a740: 33 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  3 {SHA512ShortMs
a750: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
a760: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
a770: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
a780: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
a790: 20 35 36 64 31 38 64 33 65 32 65 34 39 36 34 34   56d18d3e2e49644
a7a0: 30 64 30 61 35 63 39 65 31 62 63 62 34 36 34 66  0d0a5c9e1bcb464f
a7b0: 61 66 35 62 63 37 30 61 38 62 35 36 32 31 32 34  af5bc70a8b562124
a7c0: 66 35 66 63 39 65 39 64 65 62 35 66 65 65 36 35  f5fc9e9deb5fee65
a7d0: 34 34 62 39 34 35 65 38 33 33 62 38 62 35 64 31  44b945e833b8b5d1
a7e0: 33 31 62 37 37 33 65 63 62 32 63 64 64 37 38 30  31b773ecb2cdd780
a7f0: 63 64 34 65 31 62 62 39 65 34 66 31 65 33 63 62  cd4e1bb9e4f1e3cb
a800: 30 61 31 64 36 34 64 31 39 63 66 34 62 33 30 65  0a1d64d19cf4b30e
a810: 34 34 65 36 63 32 64 30 63 62 63 62 34 65 32 38  44e6c2d0cbcb4e28
a820: 34 63 65 35 30 64 62 37 61 38 61 38 30 36 32 64  4ce50db7a8a8062d
a830: 64 62 36 33 66 39 38 31 64 39 30 32 36 63 35 33  db63f981d9026c53
a840: 32 62 66 38 65 65 64 64 66 38 61 66 35 61 34 33  2bf8eeddf8af5a43
a850: 38 34 38 61 33 32 32 36 32 31 37 38 63 5d 7d 20  848a32262178c]} 
a860: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
a870: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
a880: 41 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61  A512 -data $data
a890: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
a8a0: 74 20 2d 72 65 73 75 6c 74 20 39 38 32 64 63 36  t -result 982dc6
a8b0: 31 63 39 31 61 39 33 37 37 30 35 38 32 65 65 65  1c91a93770582eee
a8c0: 38 30 32 35 61 61 35 35 64 61 38 65 39 65 64 62  8025aa55da8e9edb
a8d0: 39 36 36 62 66 35 63 66 37 30 64 34 61 36 35 33  966bf5cf70d4a653
a8e0: 34 63 30 64 35 33 61 32 37 38 39 61 38 63 34 66  4c0d53a2789a8c4f
a8f0: 62 36 35 62 37 66 65 64 34 37 38 63 64 61 30 32  b65b7fed478cda02
a900: 65 64 31 65 30 64 31 39 38 64 38 35 63 35 63 37  ed1e0d198d85c5c7
a910: 33 35 62 32 34 31 37 63 35 66 61 62 35 64 33 34  35b2417c5fab5d34
a920: 65 39 36 39 66 63 38 65 37 65 0a 0a 74 63 6c 74  e969fc8e7e..tclt
a930: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
a940: 48 41 35 31 32 2d 32 2e 31 30 34 20 7b 53 48 41  HA512-2.104 {SHA
a950: 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  512ShortMsg} \..
a960: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
a970: 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73  512 \..-setup {s
a980: 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20  et data [binary 
a990: 64 65 63 6f 64 65 20 68 65 78 20 32 35 61 37 33  decode hex 25a73
a9a0: 32 30 64 66 61 65 63 35 61 66 36 35 64 61 34 64  20dfaec5af65da4d
a9b0: 30 66 38 36 38 38 65 32 39 65 38 65 39 35 35 33  0f8688e29e8e9553
a9c0: 32 65 63 63 31 36 36 37 39 65 61 38 61 66 66 30  2ecc16679ea8aff0
a9d0: 66 34 30 37 64 38 39 38 64 62 36 39 32 32 38 35  f407d898db692285
a9e0: 35 62 30 65 38 39 30 31 61 61 39 36 38 31 61 61  5b0e8901aa9681aa
a9f0: 33 64 63 61 36 31 37 63 62 34 34 30 37 36 34 63  3dca617cb440764c
aa00: 64 63 37 32 39 33 66 62 65 61 66 37 66 35 38 35  dc7293fbeaf7f585
aa10: 62 35 39 33 63 32 62 30 35 33 31 37 33 38 65 30  b593c2b0531738e0
aa20: 61 64 65 37 63 38 36 32 36 62 39 39 39 35 66 34  ade7c8626b9995f4
aa30: 61 38 34 64 39 66 63 39 62 35 39 33 64 36 62 62  a84d9fc9b593d6bb
aa40: 65 65 30 31 61 62 63 35 33 63 35 62 65 31 34 62  ee01abc53c5be14b
aa50: 66 36 39 35 36 66 64 32 66 64 38 31 30 30 30 64  f6956fd2fd81000d
aa60: 61 66 63 37 63 37 36 38 36 5d 7d 20 5c 0a 09 2d  afc7c7686]} \..-
aa70: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
aa80: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
aa90: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
aaa0: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
aab0: 65 73 75 6c 74 20 37 34 39 63 39 32 38 63 33 64  esult 749c928c3d
aac0: 35 35 31 30 39 32 35 62 66 65 39 38 36 35 39 30  5510925bfe986590
aad0: 32 35 62 30 65 64 37 63 30 31 61 63 64 34 64 35  25b0ed7c01acd4d5
aae0: 39 61 39 62 66 31 63 35 34 38 36 33 61 30 38 38  9a9bf1c54863a088
aaf0: 30 39 31 37 37 31 64 63 39 64 34 30 37 62 64 62  091771dc9d407bdb
ab00: 66 38 33 62 30 66 34 34 62 30 39 30 32 65 31 30  f83b0f44b0902e10
ab10: 33 34 39 62 61 37 39 63 38 34 64 30 39 38 31 64  349ba79c84d0981d
ab20: 35 65 38 63 34 66 35 63 37 33 33 61 31 31 37 66  5e8c4f5c733a117f
ab30: 65 64 30 37 39 30 0a 0a 74 63 6c 74 65 73 74 3a  ed0790..tcltest:
ab40: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
ab50: 32 2d 32 2e 31 30 35 20 7b 53 48 41 35 31 32 53  2-2.105 {SHA512S
ab60: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
ab70: 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20  straints SHA512 
ab80: 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64  \..-setup {set d
ab90: 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  ata [binary deco
aba0: 64 65 20 68 65 78 20 33 64 37 31 37 37 62 32 38  de hex 3d7177b28
abb0: 66 66 64 39 31 36 65 37 65 30 36 33 34 38 39 35  ffd916e7e0634895
abc0: 38 33 33 62 61 30 62 64 39 65 30 36 35 33 64 66  833ba0bd9e0653df
abd0: 32 63 63 34 32 30 32 63 38 31 31 35 33 36 61 30  2cc4202c811536a0
abe0: 30 35 61 65 63 38 35 33 61 35 30 35 65 37 35 64  05aec853a505e75d
abf0: 62 35 35 64 33 63 37 31 30 37 35 37 39 30 34 31  b55d3c7107579041
ac00: 30 39 39 65 33 38 32 61 31 66 65 61 63 38 30 64  099e382a1feac80d
ac10: 64 65 36 35 64 37 32 33 36 38 65 39 30 39 61 62  de65d72368e909ab
ac20: 38 35 66 35 36 64 38 38 65 36 38 64 37 63 33 63  85f56d88e68d7c3c
ac30: 38 30 63 33 38 66 38 35 62 66 38 63 32 62 33 36  80c38f85bf8c2b36
ac40: 39 35 39 34 30 39 63 63 33 34 62 61 38 65 33 61  959409cc34ba8e3a
ac50: 64 39 34 66 65 38 65 65 31 39 32 37 36 31 32 64  d94fe8ee1927612d
ac60: 36 37 32 64 39 32 31 34 31 61 33 32 39 63 34 64  672d92141a329c4d
ac70: 64 38 61 38 38 61 39 5d 7d 20 5c 0a 09 2d 62 6f  d8a88a9]} \..-bo
ac80: 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20  dy {tls::digest 
ac90: 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 20 2d  -digest SHA512 -
aca0: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
acb0: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
acc0: 75 6c 74 20 31 34 61 33 33 31 35 30 38 63 64 37  ult 14a331508cd7
acd0: 64 39 34 66 63 63 65 35 36 61 36 36 62 66 36 35  d94fcce56a66bf65
ace0: 66 32 30 38 37 30 61 32 38 31 63 38 34 34 32 66  f20870a281c8442f
acf0: 38 64 62 64 34 63 32 33 37 31 34 35 34 61 32 62  8dbd4c2371454a2b
ad00: 36 36 66 38 64 30 39 39 34 61 30 62 36 37 36 39  66f8d0994a0b6769
ad10: 32 65 37 37 31 65 66 63 36 61 35 65 30 62 38 38  2e771efc6a5e0b88
ad20: 37 61 63 61 65 37 64 36 66 34 65 63 37 33 33 38  7acae7d6f4ec7338
ad30: 65 31 61 61 38 39 66 32 61 62 63 37 30 33 34 63  e1aa89f2abc7034c
ad40: 34 65 34 63 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  4e4c..tcltest::t
ad50: 65 73 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d  est Hash_SHA512-
ad60: 32 2e 31 30 36 20 7b 53 48 41 35 31 32 53 68 6f  2.106 {SHA512Sho
ad70: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
ad80: 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c 0a  raints SHA512 \.
ad90: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
ada0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
adb0: 20 68 65 78 20 63 30 33 33 65 34 61 35 31 32 32   hex c033e4a5122
adc0: 39 37 63 61 65 63 64 62 65 61 64 38 39 32 62 31  97caecdbead892b1
add0: 31 61 39 66 37 30 30 37 61 66 39 61 37 34 62 63  1a9f7007af9a74bc
ade0: 61 62 38 39 65 30 62 64 34 66 66 64 64 35 34 32  ab89e0bd4ffdd542
adf0: 63 61 30 33 65 61 31 32 65 31 37 61 30 36 63 34  ca03ea12e17a06c4
ae00: 32 62 64 34 33 66 63 35 66 33 66 37 35 37 66 63  2bd43fc5f3f757fc
ae10: 65 34 66 36 66 35 38 33 31 39 39 37 61 62 61 63  e4f6f5831997abac
ae20: 33 66 39 35 36 37 36 65 31 65 62 64 62 31 31 63  3f95676e1ebdb11c
ae30: 61 34 33 65 31 31 61 61 33 31 65 35 65 62 61 62  a43e11aa31e5ebab
ae40: 65 31 38 63 65 38 64 31 62 62 66 64 38 62 30 32  e18ce8d1bbfd8b02
ae50: 66 34 38 32 65 31 63 65 35 38 31 62 35 33 32 65  f482e1ce581b532e
ae60: 33 30 37 65 36 39 36 30 65 62 39 37 34 34 31 35  307e6960eb974415
ae70: 30 36 63 32 65 64 32 39 39 65 31 32 38 32 35 32  06c2ed299e128252
ae80: 33 66 34 31 35 32 37 5d 7d 20 5c 0a 09 2d 62 6f  3f41527]} \..-bo
ae90: 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20  dy {tls::digest 
aea0: 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 20 2d  -digest SHA512 -
aeb0: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
aec0: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
aed0: 75 6c 74 20 39 35 61 63 39 62 37 64 32 32 61 61  ult 95ac9b7d22aa
aee0: 34 35 38 39 32 31 38 37 34 63 34 62 34 33 33 31  458921874c4b4331
aef0: 65 37 64 36 34 37 36 31 38 35 33 32 31 37 63 33  e7d64761853217c3
af00: 66 38 33 63 36 30 31 61 62 63 62 63 63 64 37 65  f83c601abcbccd7e
af10: 32 65 61 61 36 63 61 36 63 65 39 61 32 32 65 62  2eaa6ca6ce9a22eb
af20: 63 66 65 35 30 34 36 64 35 32 66 38 61 30 39 30  cfe5046d52f8a090
af30: 39 37 66 30 34 33 61 62 38 62 63 35 39 32 34 33  97f043ab8bc59243
af40: 66 64 37 37 30 30 39 30 62 62 34 33 32 63 33 31  fd770090bb432c31
af50: 35 35 65 39 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  55e9..tcltest::t
af60: 65 73 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d  est Hash_SHA512-
af70: 32 2e 31 30 37 20 7b 53 48 41 35 31 32 53 68 6f  2.107 {SHA512Sho
af80: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
af90: 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c 0a  raints SHA512 \.
afa0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
afb0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
afc0: 20 68 65 78 20 36 39 66 66 66 30 66 31 61 33 64   hex 69fff0f1a3d
afd0: 62 66 62 33 36 65 33 32 66 30 32 35 38 31 39 66  bfb36e32f025819f
afe0: 61 39 39 65 61 39 61 30 65 64 61 65 66 37 33 31  a99ea9a0edaef731
aff0: 34 35 62 66 37 66 63 64 30 35 64 38 62 62 30 61  45bf7fcd05d8bb0a
b000: 36 34 36 63 62 33 62 35 64 35 32 35 36 64 35 32  646cb3b5d5256d52
b010: 34 38 35 36 61 63 66 64 32 65 34 34 64 36 62 37  4856acfd2e44d6b7
b020: 32 65 34 65 62 66 31 66 66 32 33 63 30 66 66 36  2e4ebf1ff23c0ff6
b030: 63 35 36 66 38 32 31 65 37 38 32 64 35 61 31 35  c56f821e782d5a15
b040: 66 37 30 35 32 61 31 34 34 35 62 30 36 36 36 38  f7052a1445b06668
b050: 65 65 62 34 61 66 37 30 30 36 37 39 65 65 37 61  eeb4af700679ee7a
b060: 65 32 36 34 39 36 66 62 64 34 36 34 30 63 30 36  e26496fbd4640c06
b070: 61 61 31 34 39 39 36 34 64 66 64 36 30 31 31 64  aa149964dfd6011d
b080: 66 38 33 35 61 63 31 33 62 37 33 63 38 66 66 32  f835ac13b73c8ff2
b090: 31 31 35 31 65 38 34 34 30 5d 7d 20 5c 0a 09 2d  1151e8440]} \..-
b0a0: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
b0b0: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
b0c0: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
b0d0: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
b0e0: 65 73 75 6c 74 20 34 35 64 34 64 61 61 36 35 32  esult 45d4daa652
b0f0: 35 35 38 64 31 63 31 32 62 65 62 30 66 35 36 36  558d1c12beb0f566
b100: 32 63 37 31 32 66 33 32 35 62 34 63 38 30 32 66  2c712f325b4c802f
b110: 63 36 65 62 39 65 65 30 33 39 63 39 34 39 64 30  c6eb9ee039c949d0
b120: 30 32 62 62 37 38 36 66 31 61 37 33 32 37 31 32  02bb786f1a732712
b130: 62 65 39 34 31 66 39 63 35 63 37 39 62 33 65 35  be941f9c5c79b3e5
b140: 63 34 33 30 36 34 64 36 33 61 33 38 35 37 38 65  c43064d63a38578e
b150: 35 61 35 34 65 65 35 32 36 61 63 62 37 33 35 62  5a54ee526acb735b
b160: 39 61 64 34 35 66 0a 0a 74 63 6c 74 65 73 74 3a  9ad45f..tcltest:
b170: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
b180: 32 2d 32 2e 31 30 38 20 7b 53 48 41 35 31 32 53  2-2.108 {SHA512S
b190: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
b1a0: 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20  straints SHA512 
b1b0: 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64  \..-setup {set d
b1c0: 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  ata [binary deco
b1d0: 64 65 20 68 65 78 20 62 32 63 34 33 39 63 39 37  de hex b2c439c97
b1e0: 61 62 37 63 36 33 37 33 36 62 33 37 39 36 33 32  ab7c63736b379632
b1f0: 34 64 36 38 65 65 62 37 61 34 37 31 65 64 31 34  4d68eeb7a471ed14
b200: 32 62 64 39 36 32 32 36 38 34 31 36 37 64 36 31  2bd9622684167d61
b210: 32 33 34 66 66 66 38 32 66 39 33 66 39 30 37 35  234fff82f93f9075
b220: 33 37 61 39 30 39 62 63 32 65 37 35 61 34 62 63  37a909bc2e75a4bc
b230: 62 63 31 33 33 63 66 35 37 31 39 37 36 36 32 63  bc133cf57197662c
b240: 31 61 66 37 34 36 61 65 38 62 38 31 65 35 62 38  1af746ae8b81e5b8
b250: 33 64 65 30 35 64 39 62 35 38 39 38 35 31 64 65  3de05d9b589851de
b260: 32 35 64 33 63 39 39 63 30 30 34 63 31 64 66 62  25d3c99c004c1dfb
b270: 31 32 64 39 33 62 66 35 30 64 34 35 30 61 66 34  12d93bf50d450af4
b280: 39 63 34 32 38 37 31 36 66 35 62 39 30 65 66 30  9c428716f5b90ef0
b290: 38 38 65 33 62 36 61 36 62 32 63 34 36 64 33 63  88e3b6a6b2c46d3c
b2a0: 65 36 37 62 33 37 39 35 39 39 30 31 38 5d 7d 20  e67b379599018]} 
b2b0: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
b2c0: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
b2d0: 41 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61  A512 -data $data
b2e0: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
b2f0: 74 20 2d 72 65 73 75 6c 74 20 63 34 38 65 63 38  t -result c48ec8
b300: 33 62 65 35 66 61 36 36 39 65 36 65 63 38 64 62  3be5fa669e6ec8db
b310: 39 30 61 63 61 39 36 37 36 63 66 65 32 65 63 30  90aca9676cfe2ec0
b320: 64 35 65 38 65 37 61 32 34 33 31 36 38 37 62 62  d5e8e7a2431687bb
b330: 39 35 33 63 30 61 33 30 30 62 65 33 64 62 34 30  953c0a300be3db40
b340: 37 35 63 63 61 33 62 61 63 34 64 66 61 34 64 39  75cca3bac4dfa4d9
b350: 37 31 62 61 66 30 66 61 31 61 66 66 34 36 36 33  71baf0fa1aff4663
b360: 39 64 62 34 62 32 33 38 38 35 36 66 66 33 36 64  9db4b238856ff36d
b370: 31 64 66 63 64 35 32 30 66 31 0a 0a 74 63 6c 74  1dfcd520f1..tclt
b380: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
b390: 48 41 35 31 32 2d 32 2e 31 30 39 20 7b 53 48 41  HA512-2.109 {SHA
b3a0: 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  512ShortMsg} \..
b3b0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
b3c0: 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73  512 \..-setup {s
b3d0: 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20  et data [binary 
b3e0: 64 65 63 6f 64 65 20 68 65 78 20 63 30 31 36 66  decode hex c016f
b3f0: 35 32 32 66 32 36 62 37 34 37 30 65 39 32 32 62  522f26b7470e922b
b400: 39 61 32 38 37 65 36 64 34 35 66 36 63 32 38 38  9a287e6d45f6c288
b410: 31 33 62 36 38 63 31 34 35 37 65 33 36 64 39 62  13b68c1457e36d9b
b420: 61 32 36 36 37 30 38 32 37 32 66 39 63 62 63 35  a266708272f9cbc5
b430: 34 31 31 66 38 64 62 39 64 38 62 64 35 61 39 34  411f8db9d8bd5a94
b440: 34 39 66 62 36 65 62 30 63 64 65 37 64 34 64 30  49fb6eb0cde7d4d0
b450: 33 65 35 64 66 30 31 39 66 32 38 31 34 61 39 30  3e5df019f2814a90
b460: 63 65 65 64 33 37 37 63 35 39 64 37 64 39 32 36  ceed377c59d7d926
b470: 32 33 38 39 39 62 63 62 30 32 36 38 30 33 33 30  23899bcb02680330
b480: 37 33 35 35 39 64 34 64 38 64 65 34 38 38 36 38  73559d4d8de48868
b490: 36 63 62 65 33 64 36 37 37 39 36 65 36 64 66 36  6cbe3d67796e6df6
b4a0: 61 64 34 32 37 36 64 30 62 35 32 63 63 36 32 63  ad4276d0b52cc62c
b4b0: 34 39 65 62 62 35 38 64 37 63 39 35 32 38 37 61  49ebb58d7c95287a
b4c0: 61 36 63 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  a6c]} \..-body {
b4d0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
b4e0: 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74 61  est SHA512 -data
b4f0: 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63   $data} \..-matc
b500: 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20  h exact -result 
b510: 37 34 30 32 66 31 61 39 39 62 34 37 65 31 30 32  7402f1a99b47e102
b520: 62 33 62 37 33 31 34 30 63 36 37 37 31 62 30 37  b3b73140c6771b07
b530: 65 65 36 63 33 33 62 33 37 31 35 65 39 63 34 30  ee6c33b3715e9c40
b540: 32 37 63 34 34 31 62 65 65 34 30 35 31 31 62 37  27c441bee40511b7
b550: 33 35 64 39 35 65 35 30 38 62 61 65 61 37 38 64  35d95e508baea78d
b560: 61 32 36 66 64 65 64 39 62 37 30 33 38 65 39 61  a26fded9b7038e9a
b570: 35 33 64 65 66 61 35 38 34 34 38 61 62 61 34 30  53defa58448aba40
b580: 64 63 31 65 36 32 64 37 65 63 35 39 32 31 30 37  dc1e62d7ec592107
b590: 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20  ..tcltest::test 
b5a0: 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 31 31  Hash_SHA512-2.11
b5b0: 30 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  0 {SHA512ShortMs
b5c0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
b5d0: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
b5e0: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
b5f0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
b600: 20 61 37 36 36 62 32 61 37 65 66 39 31 36 37 32   a766b2a7ef91672
b610: 31 66 34 36 37 37 62 36 37 64 62 63 36 35 65 66  1f4677b67dbc65ef
b620: 39 62 34 64 31 62 64 61 31 61 64 34 65 35 33 66  9b4d1bda1ad4e53f
b630: 63 38 35 34 62 30 32 33 36 34 34 30 38 32 32 31  c854b02364408221
b640: 35 32 61 31 31 31 39 33 39 65 35 61 62 32 62 61  52a111939e5ab2ba
b650: 32 30 37 37 31 39 34 37 32 62 36 33 66 64 34 66  207719472b63fd4f
b660: 34 61 35 34 66 34 62 64 65 34 34 61 32 30 35 64  4a54f4bde44a205d
b670: 33 33 34 61 32 64 37 32 63 66 65 30 35 61 62 66  334a2d72cfe05abf
b680: 38 30 34 66 34 31 38 34 31 62 38 36 64 33 36 39  804f41841b86d369
b690: 32 30 62 65 36 62 30 62 35 32 39 33 33 31 61 63  20be6b0b529331ac
b6a0: 31 36 33 61 39 38 35 35 35 36 63 38 34 35 31 31  163a985556c84511
b6b0: 65 63 39 38 36 34 33 39 66 38 33 65 31 64 37 33  ec986439f83e1d73
b6c0: 31 31 66 35 37 64 38 34 38 63 66 61 30 32 64 66  11f57d848cfa02df
b6d0: 39 65 61 30 63 66 36 62 39 39 61 5d 7d 20 5c 0a  9ea0cf6b99a]} \.
b6e0: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
b6f0: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
b700: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
b710: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
b720: 2d 72 65 73 75 6c 74 20 64 64 64 36 30 66 39 33  -result ddd60f93
b730: 61 33 62 61 62 63 37 38 32 39 39 63 66 37 36 33  a3babc78299cf763
b740: 65 37 39 31 39 64 34 35 61 63 36 66 34 37 39 37  e7919d45ac6f4797
b750: 30 30 65 31 61 64 62 30 35 61 62 31 33 37 61 63  00e1adb05ab137ac
b760: 64 66 38 39 63 31 35 32 31 65 63 62 39 64 66 65  df89c1521ecb9dfe
b770: 61 63 64 30 39 31 65 35 38 63 61 35 37 61 31 64  acd091e58ca57a1d
b780: 62 39 36 34 61 39 63 33 63 64 31 66 61 33 39 31  b964a9c3cd1fa391
b790: 39 32 63 63 31 65 39 66 37 33 34 63 61 61 31 63  92cc1e9f734caa1c
b7a0: 35 66 61 36 32 39 37 35 0a 0a 74 63 6c 74 65 73  5fa62975..tcltes
b7b0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
b7c0: 35 31 32 2d 32 2e 31 31 31 20 7b 53 48 41 35 31  512-2.111 {SHA51
b7d0: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
b7e0: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
b7f0: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
b800: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
b810: 63 6f 64 65 20 68 65 78 20 31 30 66 32 62 65 37  code hex 10f2be7
b820: 37 61 34 30 35 35 37 37 31 61 36 37 30 30 37 63  7a4055771a67007c
b830: 64 38 36 33 30 65 33 32 33 30 65 33 38 32 38 38  d8630e3230e38288
b840: 34 39 39 63 62 31 36 30 33 38 30 32 39 30 31 37  499cb16038029017
b850: 34 64 36 36 64 61 35 37 34 35 35 62 36 62 61 61  4d66da57455b6baa
b860: 61 39 37 38 35 63 38 34 63 38 61 36 36 33 64 65  a9785c84c8a663de
b870: 34 31 65 64 33 62 64 35 34 34 30 35 35 62 39 31  41ed3bd544055b91
b880: 37 30 63 65 63 34 33 63 62 33 65 62 31 32 30 65  70cec43cb3eb120e
b890: 63 65 61 62 61 31 66 65 33 36 65 33 65 61 61 33  ceaba1fe36e3eaa3
b8a0: 66 61 34 66 39 39 62 34 32 35 63 64 32 35 31 39  fa4f99b425cd2519
b8b0: 66 30 39 62 63 30 32 38 32 62 61 64 61 35 32 64  f09bc0282bada52d
b8c0: 31 34 63 65 36 32 35 62 31 64 65 64 33 62 32 34  14ce625b1ded3b24
b8d0: 64 38 36 62 31 64 61 64 33 34 32 64 32 62 37 62  d86b1dad342d2b7b
b8e0: 65 33 32 32 62 37 37 35 62 30 34 66 63 36 62 38  e322b775b04fc6b8
b8f0: 36 61 66 62 34 5d 7d 20 5c 0a 09 2d 62 6f 64 79  6afb4]} \..-body
b900: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
b910: 69 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61  igest SHA512 -da
b920: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
b930: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
b940: 74 20 61 38 37 32 66 61 33 33 64 34 36 33 62 33  t a872fa33d463b3
b950: 33 34 33 63 65 63 35 37 63 32 30 63 36 36 39 37  343cec57c20c6697
b960: 39 63 33 33 65 31 61 64 30 36 37 62 66 63 37 30  9c33e1ad067bfc70
b970: 33 34 35 34 36 39 36 61 61 62 35 64 64 30 30 30  3454696aab5dd000
b980: 33 62 63 31 39 34 33 31 38 66 34 61 38 65 62 62  3bc194318f4a8ebb
b990: 63 37 34 35 30 33 66 65 62 37 32 31 31 61 34 37  c74503feb7211a47
b9a0: 32 64 61 64 65 65 39 39 31 65 66 65 33 65 33 38  2dadee991efe3e38
b9b0: 66 32 31 61 31 33 31 30 66 38 61 37 36 65 61 63  f21a1310f8a76eac
b9c0: 38 30 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  80..tcltest::tes
b9d0: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e  t Hash_SHA512-2.
b9e0: 31 31 32 20 7b 53 48 41 35 31 32 53 68 6f 72 74  112 {SHA512Short
b9f0: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
ba00: 69 6e 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d  ints SHA512 \..-
ba10: 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20  setup {set data 
ba20: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
ba30: 65 78 20 33 32 34 35 33 33 65 36 38 35 66 31 38  ex 324533e685f18
ba40: 35 32 65 33 35 38 65 65 61 38 65 61 38 62 38 31  52e358eea8ea8b81
ba50: 63 32 38 38 62 33 66 33 62 65 62 31 66 32 62 63  c288b3f3beb1f2bc
ba60: 32 62 38 64 33 66 64 62 61 63 33 31 38 33 38 32  2b8d3fdbac318382
ba70: 65 33 64 37 31 32 30 64 65 33 30 63 39 63 32 33  e3d7120de30c9c23
ba80: 37 61 61 30 61 33 34 38 33 31 64 65 62 31 65 35  7aa0a34831deb1e5
ba90: 65 30 36 30 61 37 39 36 39 63 64 33 61 39 37 34  e060a7969cd3a974
baa0: 32 65 63 31 65 36 34 62 33 35 34 66 37 65 62 32  2ec1e64b354f7eb2
bab0: 39 30 63 62 61 31 63 36 38 31 63 36 36 63 63 37  90cba1c681c66cc7
bac0: 65 61 39 39 34 66 64 66 35 36 31 34 66 36 30 34  ea994fdf5614f604
bad0: 64 31 61 32 37 31 38 61 61 62 35 38 31 63 31 63  d1a2718aab581c1c
bae0: 39 34 39 33 31 62 31 33 38 37 65 34 62 37 64 63  94931b1387e4b7dc
baf0: 37 33 36 33 35 62 66 33 61 37 33 30 31 31 37 34  73635bf3a7301174
bb00: 30 37 35 66 61 37 30 61 39 32 32 37 64 38 35 64  075fa70a9227d85d
bb10: 33 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  3]} \..-body {tl
bb20: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
bb30: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
bb40: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
bb50: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 33 62  exact -result 3b
bb60: 32 36 63 35 31 37 30 37 32 39 64 30 38 31 34 31  26c5170729d08141
bb70: 35 33 62 65 63 62 39 35 66 31 62 36 35 63 64 34  53becb95f1b65cd4
bb80: 32 66 39 61 36 64 30 36 34 39 64 39 31 34 65 34  2f9a6d0649d914e4
bb90: 66 36 39 64 39 33 38 62 35 65 39 64 63 30 34 31  f69d938b5e9dc041
bba0: 63 64 30 66 35 63 38 64 61 30 62 34 38 34 64 37  cd0f5c8da0b484d7
bbb0: 63 37 62 63 37 62 31 62 64 65 66 62 30 38 66 65  c7bc7b1bdefb08fe
bbc0: 38 62 31 62 66 65 64 63 38 31 31 30 39 33 34 35  8b1bfedc81109345
bbd0: 62 63 39 65 39 61 33 39 39 66 65 65 64 66 0a 0a  bc9e9a399feedf..
bbe0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
bbf0: 73 68 5f 53 48 41 35 31 32 2d 32 2e 31 31 33 20  sh_SHA512-2.113 
bc00: 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d  {SHA512ShortMsg}
bc10: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73   \..-constraints
bc20: 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75   SHA512 \..-setu
bc30: 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e  p {set data [bin
bc40: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 35  ary decode hex 5
bc50: 31 38 39 38 35 39 37 37 65 65 32 31 64 32 62 66  18985977ee21d2bf
bc60: 36 32 32 61 32 30 35 36 37 31 32 34 66 63 62 66  622a20567124fcbf
bc70: 31 31 63 37 32 64 66 38 30 35 33 36 35 38 33 35  11c72df805365835
bc80: 61 62 33 63 30 34 31 66 34 61 39 63 64 38 61 30  ab3c041f4a9cd8a0
bc90: 61 64 36 33 63 39 64 65 65 31 30 31 38 61 61 32  ad63c9dee1018aa2
bca0: 31 61 39 66 61 33 37 32 30 66 34 37 64 63 34 38  1a9fa3720f47dc48
bcb0: 30 30 36 66 31 61 61 33 64 62 61 35 34 34 39 35  006f1aa3dba54495
bcc0: 30 66 38 37 65 36 32 37 66 33 36 39 62 63 32 37  0f87e627f369bc27
bcd0: 39 33 65 64 65 32 31 32 32 33 32 37 34 34 39 32  93ede21223274492
bce0: 63 63 65 62 37 37 62 65 37 65 65 61 35 30 65 35  cceb77be7eea50e5
bcf0: 61 35 30 39 30 35 39 39 32 39 61 31 36 64 33 33  a509059929a16d33
bd00: 61 39 66 35 34 37 39 36 63 64 65 35 37 37 30 63  a9f54796cde5770c
bd10: 37 34 62 64 33 65 63 63 32 35 33 31 38 35 30 33  74bd3ecc25318503
bd20: 66 31 61 34 31 39 37 36 34 30 37 61 66 66 32 5d  f1a41976407aff2]
bd30: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
bd40: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
bd50: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
bd60: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
bd70: 61 63 74 20 2d 72 65 73 75 6c 74 20 63 30 30 39  act -result c009
bd80: 32 36 61 33 37 34 63 64 65 35 35 62 38 66 62 64  26a374cde55b8fbd
bd90: 37 37 66 35 30 64 61 31 33 36 33 64 61 31 39 37  77f50da1363da197
bda0: 34 34 64 33 66 34 36 34 65 30 37 63 65 33 31 37  44d3f464e07ce317
bdb0: 39 34 63 35 61 36 31 62 36 66 39 63 38 35 36 38  94c5a61b6f9c8568
bdc0: 39 66 61 31 63 66 65 31 33 36 35 35 33 35 32 37  9fa1cfe136553527
bdd0: 66 64 38 37 36 62 65 39 31 36 37 33 63 32 63 61  fd876be91673c2ca
bde0: 63 32 64 64 31 35 37 62 32 64 65 66 65 61 33 36  c2dd157b2defea36
bdf0: 30 38 35 31 62 36 64 39 32 63 66 34 0a 0a 74 63  0851b6d92cf4..tc
be00: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
be10: 5f 53 48 41 35 31 32 2d 32 2e 31 31 34 20 7b 53  _SHA512-2.114 {S
be20: 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c  HA512ShortMsg} \
be30: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
be40: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
be50: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
be60: 79 20 64 65 63 6f 64 65 20 68 65 78 20 39 31 35  y decode hex 915
be70: 39 37 36 37 32 37 35 62 61 36 66 37 39 63 62 62  9767275ba6f79cbb
be80: 33 64 35 38 63 30 31 30 38 33 33 39 64 38 63 36  3d58c0108339d8c6
be90: 61 34 31 31 33 38 39 39 31 61 62 37 61 61 35 38  a41138991ab7aa58
bea0: 62 31 34 37 39 33 62 35 34 35 62 30 34 62 64 61  b14793b545b04bda
beb0: 36 31 64 64 32 35 35 31 32 37 62 31 32 63 63 35  61dd255127b12cc5
bec0: 30 31 64 35 61 61 61 64 34 37 36 65 30 39 66 61  01d5aaad476e09fa
bed0: 31 34 61 65 63 32 31 36 32 36 65 38 64 35 37 62  14aec21626e8d57b
bee0: 37 64 30 38 63 33 36 63 64 62 37 39 65 65 61 33  7d08c36cdb79eea3
bef0: 31 34 62 64 64 37 37 65 36 35 37 37 39 61 30 62  14bdd77e65779a0b
bf00: 35 34 65 61 62 30 38 63 34 38 63 65 62 39 37 36  54eab08c48ceb976
bf10: 61 64 66 36 33 31 66 34 32 34 36 61 33 33 66 37  adf631f4246a33f7
bf20: 65 66 38 39 36 38 38 37 65 61 38 62 35 64 66 61  ef896887ea8b5dfa
bf30: 32 30 38 37 61 32 32 35 63 38 63 31 38 30 66 38  2087a225c8c180f8
bf40: 39 37 30 36 39 36 31 30 31 66 63 32 38 33 62 5d  970696101fc283b]
bf50: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
bf60: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
bf70: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
bf80: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
bf90: 61 63 74 20 2d 72 65 73 75 6c 74 20 33 63 64 33  act -result 3cd3
bfa0: 33 38 30 61 39 30 38 36 38 64 65 31 37 64 65 65  380a90868de17dee
bfb0: 34 62 64 34 64 37 66 39 30 64 37 35 31 32 36 39  4bd4d7f90d751269
bfc0: 36 66 30 61 39 32 62 32 64 30 38 39 32 34 30 64  6f0a92b2d089240d
bfd0: 36 31 61 39 64 32 30 63 64 33 61 66 30 39 34 63  61a9d20cd3af094c
bfe0: 37 38 62 66 34 36 36 63 32 64 34 30 34 64 64 32  78bf466c2d404dd2
bff0: 66 36 36 32 65 63 35 66 34 61 32 39 39 62 65 32  f662ec5f4a299be2
c000: 61 64 65 61 64 66 36 32 37 62 39 38 65 35 30 65  adeadf627b98e50e
c010: 31 63 30 37 32 62 37 36 39 64 36 32 0a 0a 74 63  1c072b769d62..tc
c020: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
c030: 5f 53 48 41 35 31 32 2d 32 2e 31 31 35 20 7b 53  _SHA512-2.115 {S
c040: 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c  HA512ShortMsg} \
c050: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
c060: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
c070: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
c080: 79 20 64 65 63 6f 64 65 20 68 65 78 20 66 65 32  y decode hex fe2
c090: 64 38 61 65 32 30 30 65 36 36 35 37 66 64 63 37  d8ae200e6657fdc7
c0a0: 34 39 34 61 66 35 61 31 32 62 32 61 65 39 34 30  494af5a12b2ae940
c0b0: 33 34 38 66 31 66 39 38 33 66 30 62 61 39 38 66  348f1f983f0ba98f
c0c0: 65 62 62 65 39 39 63 38 30 64 31 31 35 31 32 36  ebbe99c80d115126
c0d0: 64 35 37 64 62 66 33 37 32 39 36 37 36 35 65 62  d57dbf37296765eb
c0e0: 62 35 39 39 30 32 35 36 36 39 36 35 38 38 62 33  b5990256696588b3
c0f0: 38 35 31 64 35 34 63 38 66 62 65 37 61 64 65 39  851d54c8fbe7ade9
c100: 38 61 36 66 61 66 37 63 32 30 62 35 65 34 66 37  8a6faf7c20b5e4f7
c110: 33 30 66 35 34 61 37 66 39 31 32 63 61 30 61 63  30f54a7f912ca0ac
c120: 33 31 62 62 62 35 33 64 31 37 39 34 39 65 66 36  31bbb53d17949ef6
c130: 39 61 61 30 64 65 34 30 63 37 62 61 62 31 32 61  9aa0de40c7bab12a
c140: 38 37 31 61 39 62 39 30 66 36 38 38 31 33 63 61  871a9b90f68813ca
c150: 38 37 61 66 34 32 35 36 34 32 32 61 32 36 38 66  87af4256422a268f
c160: 34 61 31 64 38 65 63 33 61 61 31 61 39 34 37 66  4a1d8ec3aa1a947f
c170: 64 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  d]} \..-body {tl
c180: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
c190: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
c1a0: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
c1b0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 38 30  exact -result 80
c1c0: 32 35 61 38 36 30 38 64 66 30 66 36 61 30 31 63  25a8608df0f6a01c
c1d0: 33 34 63 64 65 63 30 31 32 64 34 63 62 32 35 38  34cdec012d4cb258
c1e0: 35 32 65 31 62 31 30 30 62 36 38 31 37 32 66 63  52e1b100b68172fc
c1f0: 34 65 38 36 61 63 38 62 37 31 32 36 62 36 34 38  4e86ac8b7126b648
c200: 35 39 63 62 39 65 37 36 37 61 37 65 35 39 30 36  59cb9e767a7e5906
c210: 30 39 38 39 63 65 64 62 64 39 32 35 61 66 63 34  0989cedbd925afc4
c220: 37 35 63 61 37 33 36 39 62 64 34 33 66 38 35 61  75ca7369bd43f85a
c230: 65 35 39 30 65 32 32 34 65 30 33 36 64 64 0a 0a  e590e224e036dd..
c240: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
c250: 73 68 5f 53 48 41 35 31 32 2d 32 2e 31 31 36 20  sh_SHA512-2.116 
c260: 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d  {SHA512ShortMsg}
c270: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73   \..-constraints
c280: 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75   SHA512 \..-setu
c290: 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e  p {set data [bin
c2a0: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 64  ary decode hex d
c2b0: 63 32 38 34 38 34 65 62 66 64 32 39 33 64 36 32  c28484ebfd293d62
c2c0: 61 63 37 35 39 64 35 37 35 34 62 64 66 35 30 32  ac759d5754bdf502
c2d0: 34 32 33 65 34 64 34 31 39 66 61 37 39 30 32 30  423e4d419fa79020
c2e0: 38 30 35 31 33 34 62 32 63 65 33 64 66 66 37 33  805134b2ce3dff73
c2f0: 38 63 37 35 35 36 63 39 31 64 38 31 30 61 64 62  8c7556c91d810adb
c300: 61 64 38 64 64 32 31 30 66 30 34 31 32 39 36 62  ad8dd210f041296b
c310: 37 33 63 32 31 38 35 64 34 36 34 36 63 39 37 66  73c2185d4646c97f
c320: 63 30 61 35 62 36 39 65 64 34 39 61 63 38 63 37  c0a5b69ed49ac8c7
c330: 63 65 64 30 62 64 31 63 66 64 37 65 33 63 33 63  ced0bd1cfd7e3c3c
c340: 63 61 34 37 33 37 34 64 31 38 39 32 34 37 64 61  ca47374d189247da
c350: 36 38 31 31 61 34 30 62 30 61 62 30 39 37 30 36  6811a40b0ab09706
c360: 37 65 64 34 61 64 34 30 61 64 65 32 65 34 37 39  7ed4ad40ade2e479
c370: 31 65 33 39 32 30 34 65 33 39 38 62 33 32 30 34  1e39204e398b3204
c380: 39 37 31 34 34 35 38 32 32 61 31 62 65 30 64 64  971445822a1be0dd
c390: 39 33 61 66 38 5d 7d 20 5c 0a 09 2d 62 6f 64 79  93af8]} \..-body
c3a0: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
c3b0: 69 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61  igest SHA512 -da
c3c0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
c3d0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
c3e0: 74 20 36 31 35 31 31 35 64 32 65 38 62 36 32 65  t 615115d2e8b62e
c3f0: 33 34 35 61 64 61 61 34 62 64 62 39 35 33 39 35  345adaa4bdb95395
c400: 61 33 62 34 66 65 32 37 64 37 31 63 34 61 31 31  a3b4fe27d71c4a11
c410: 31 62 38 36 63 31 38 34 31 34 36 33 63 35 66 30  1b86c1841463c5f0
c420: 33 64 36 62 32 30 64 31 36 34 61 33 39 39 34 38  3d6b20d164a39948
c430: 61 62 30 38 61 65 30 36 30 37 32 30 64 30 35 63  ab08ae060720d05c
c440: 31 30 66 36 30 32 32 65 35 63 38 63 61 66 32 66  10f6022e5c8caf2f
c450: 61 33 62 63 61 32 65 30 34 64 39 63 35 33 39 64  a3bca2e04d9c539d
c460: 65 64 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  ed..tcltest::tes
c470: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e  t Hash_SHA512-2.
c480: 31 31 37 20 7b 53 48 41 35 31 32 53 68 6f 72 74  117 {SHA512Short
c490: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
c4a0: 69 6e 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d  ints SHA512 \..-
c4b0: 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20  setup {set data 
c4c0: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
c4d0: 65 78 20 35 61 66 38 63 30 66 32 36 64 62 34 65  ex 5af8c0f26db4e
c4e0: 39 39 62 34 37 65 63 32 65 34 61 30 31 61 37 38  99b47ec2e4a01a78
c4f0: 36 65 37 37 38 39 39 65 34 36 64 34 36 34 61 63  6e77899e46d464ac
c500: 33 33 37 66 31 37 35 30 32 37 62 36 31 61 65 66  337f175027b61aef
c510: 33 31 34 39 38 34 38 61 66 38 34 39 64 37 36 61  3149848af849d76a
c520: 63 33 39 62 39 62 30 39 31 30 66 65 36 35 39 34  c39b9b0910fe6594
c530: 38 31 37 38 35 39 65 35 35 39 37 34 66 61 31 36  817859e55974fa16
c540: 37 35 31 38 65 64 37 32 64 30 38 38 64 61 65 36  7518ed72d088dae6
c550: 62 34 31 34 64 37 34 34 64 34 37 37 39 37 34 66  b414d744d477974f
c560: 62 37 31 39 63 36 32 36 64 61 37 39 32 66 39 38  b719c626da792f98
c570: 31 32 33 33 64 65 32 34 62 37 35 37 39 64 38 61  1233de24b7579d8a
c580: 63 63 61 35 31 30 61 32 36 36 64 37 33 63 30 65  cca510a266d73c0e
c590: 65 38 65 65 31 34 32 34 33 34 33 65 61 66 36 66  e8ee1424343eaf6f
c5a0: 66 63 63 35 39 63 38 36 63 31 62 65 63 63 65 35  fcc59c86c1becce5
c5b0: 38 39 34 30 37 32 63 36 63 31 31 5d 7d 20 5c 0a  894072c6c11]} \.
c5c0: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
c5d0: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
c5e0: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
c5f0: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
c600: 2d 72 65 73 75 6c 74 20 30 39 64 61 32 38 34 64  -result 09da284d
c610: 35 62 36 35 35 36 35 30 38 62 65 35 34 63 38 61  5b6556508be54c8a
c620: 62 36 63 39 37 62 62 64 34 37 32 39 39 35 63 36  b6c97bbd472995c6
c630: 62 62 64 35 38 35 39 31 37 65 63 64 62 35 34 65  bbd585917ecdb54e
c640: 61 39 31 36 37 32 30 38 64 61 61 61 30 37 30 61  a9167208daaa070a
c650: 37 62 32 62 37 64 38 65 39 33 63 65 31 33 31 35  7b2b7d8e93ce1315
c660: 66 30 64 31 65 66 38 64 36 39 36 36 37 34 32 39  f0d1ef8d69667429
c670: 63 34 34 64 63 35 65 65 31 34 39 39 64 65 35 37  c44dc5ee1499de57
c680: 62 32 32 39 61 33 39 38 0a 0a 74 63 6c 74 65 73  b229a398..tcltes
c690: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
c6a0: 35 31 32 2d 32 2e 31 31 38 20 7b 53 48 41 35 31  512-2.118 {SHA51
c6b0: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
c6c0: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
c6d0: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
c6e0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
c6f0: 63 6f 64 65 20 68 65 78 20 34 39 63 64 30 62 61  code hex 49cd0ba
c700: 30 64 66 35 62 62 33 66 34 33 66 36 38 34 36 34  0df5bb3f43f68464
c710: 65 33 65 38 33 65 39 63 62 64 35 64 35 65 65 30  e3e83e9cbd5d5ee0
c720: 37 37 66 66 61 35 35 39 31 65 33 30 66 39 33 39  77ffa5591e30f939
c730: 63 62 33 30 63 39 33 66 37 64 34 35 34 66 62 33  cb30c93f7d454fb3
c740: 66 62 66 38 62 62 30 35 33 32 37 61 38 39 63 30  fbf8bb05327a89c0
c750: 38 64 63 34 62 61 66 31 65 65 66 35 30 32 33 37  8dc4baf1eef50237
c760: 33 31 37 61 34 30 35 37 37 35 33 35 37 66 31 65  317a405775357f1e
c770: 30 64 31 66 33 31 64 39 66 30 66 30 64 39 38 31  0d1f31d9f0f0d981
c780: 32 34 30 31 39 64 34 37 62 66 31 38 33 36 33 62  24019d47bf18363b
c790: 31 65 63 66 62 66 65 31 35 35 63 31 30 63 62 63  1ecfbfe155c10cbc
c7a0: 38 33 33 30 30 65 30 31 62 63 39 63 65 30 33 34  83300e01bc9ce034
c7b0: 37 63 35 39 36 62 33 35 66 34 31 31 65 36 64 38  7c596b35f411e6d8
c7c0: 32 32 39 61 64 32 38 35 35 65 34 32 30 32 32 62  229ad2855e42022b
c7d0: 30 33 37 33 61 64 65 39 38 36 36 33 63 36 64 36  0373ade98663c6d6
c7e0: 65 39 63 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  e9c]} \..-body {
c7f0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
c800: 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74 61  est SHA512 -data
c810: 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63   $data} \..-matc
c820: 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20  h exact -result 
c830: 33 30 63 62 66 30 36 37 39 61 39 37 63 38 37 31  30cbf0679a97c871
c840: 35 37 34 64 32 66 63 30 35 64 37 61 61 37 36 30  574d2fc05d7aa760
c850: 63 36 62 63 38 61 38 36 34 62 37 64 32 34 36 63  c6bc8a864b7d246c
c860: 33 39 62 39 65 38 31 32 66 39 62 37 66 66 37 62  39b9e812f9b7ff7b
c870: 34 65 66 35 31 39 37 64 64 35 62 36 39 34 39 33  4ef5197dd5b69493
c880: 33 30 36 36 38 38 62 38 35 36 34 64 65 31 61 64  306688b8564de1ad
c890: 34 37 64 37 35 35 30 35 63 39 31 33 62 61 36 61  47d75505c913ba6a
c8a0: 37 38 37 38 38 66 38 63 61 66 35 37 38 38 62 64  78788f8caf5788bd
c8b0: 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20  ..tcltest::test 
c8c0: 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 31 31  Hash_SHA512-2.11
c8d0: 39 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  9 {SHA512ShortMs
c8e0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
c8f0: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
c900: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
c910: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
c920: 20 61 38 61 33 37 64 66 63 30 38 33 61 64 32 66   a8a37dfc083ad2f
c930: 34 37 66 66 66 34 36 38 37 33 38 62 66 38 62 37  47fff468738bf8b7
c940: 32 38 65 62 37 66 31 39 30 37 65 34 32 37 66 61  28eb7f1907e427fa
c950: 31 35 63 62 34 34 32 34 62 63 36 38 35 65 35 35  15cb4424bc685e55
c960: 65 64 37 62 32 38 32 35 63 39 63 36 30 62 38 33  ed7b2825c9c60b83
c970: 39 63 63 63 32 66 65 35 66 62 33 33 65 33 36 66  9ccc2fe5fb33e36f
c980: 35 37 30 63 62 38 36 36 31 36 30 39 65 36 33 30  570cb8661609e630
c990: 62 64 61 30 35 65 65 36 34 31 64 39 33 38 34 32  bda05ee641d93842
c9a0: 38 38 36 37 64 39 30 65 30 30 37 34 34 61 34 61  8867d90e00744a4a
c9b0: 61 64 34 39 34 63 39 33 63 35 66 36 64 31 33 32  ad494c93c5f6d132
c9c0: 37 38 37 38 30 37 38 35 39 30 63 64 63 65 31 65  7878078590cdce1e
c9d0: 36 34 37 63 39 38 32 30 38 31 38 66 34 36 37 36  647c9820818f4676
c9e0: 34 31 66 63 64 35 30 38 65 32 66 32 65 62 66 64  41fcd508e2f2ebfd
c9f0: 30 66 66 33 64 34 66 32 37 32 33 39 33 34 37 38  0ff3d4f272393478
ca00: 66 33 62 39 65 36 66 38 30 36 62 34 33 5d 7d 20  f3b9e6f806b43]} 
ca10: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
ca20: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
ca30: 41 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61  A512 -data $data
ca40: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
ca50: 74 20 2d 72 65 73 75 6c 74 20 38 65 31 63 39 31  t -result 8e1c91
ca60: 37 32 39 62 65 38 65 62 34 30 32 32 36 66 36 63  729be8eb40226f6c
ca70: 35 38 61 30 32 39 33 38 30 65 66 37 65 64 62 39  58a029380ef7edb9
ca80: 64 63 31 36 36 61 35 63 33 63 64 62 63 65 66 65  dc166a5c3cdbcefe
ca90: 39 30 62 64 33 30 64 38 35 63 62 37 63 34 62 32  90bd30d85cb7c4b2
caa0: 34 38 65 36 36 61 62 66 30 61 33 61 34 63 38 34  48e66abf0a3a4c84
cab0: 32 32 38 31 32 39 39 62 65 66 36 64 62 38 38 38  2281299bef6db888
cac0: 35 38 64 39 65 35 61 62 35 32 34 34 66 37 30 62  58d9e5ab5244f70b
cad0: 37 39 36 39 65 31 63 30 37 32 0a 0a 74 63 6c 74  7969e1c072..tclt
cae0: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
caf0: 48 41 35 31 32 2d 32 2e 31 32 30 20 7b 53 48 41  HA512-2.120 {SHA
cb00: 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  512ShortMsg} \..
cb10: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
cb20: 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73  512 \..-setup {s
cb30: 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20  et data [binary 
cb40: 64 65 63 6f 64 65 20 68 65 78 20 33 36 61 66 31  decode hex 36af1
cb50: 37 35 39 35 34 39 34 65 66 37 39 33 63 34 32 66  7595494ef793c42f
cb60: 34 38 34 31 30 32 34 36 64 66 30 37 64 30 35 39  48410246df07d059
cb70: 33 36 61 39 31 38 61 66 65 37 34 63 64 30 30 35  36a918afe74cd005
cb80: 65 35 33 37 63 35 38 36 62 32 38 34 33 37 30 31  e537c586b2843701
cb90: 66 35 64 66 38 39 35 32 32 34 32 62 37 34 35 38  f5df8952242b7458
cba0: 36 66 38 33 33 33 39 62 34 38 66 34 62 61 33 61  6f83339b48f4ba3a
cbb0: 36 36 62 64 65 62 34 35 37 65 63 64 66 36 31 37  66bdeb457ecdf617
cbc0: 38 34 65 61 63 36 37 36 35 63 64 39 62 38 63 35  84eac6765cd9b8c5
cbd0: 37 30 64 64 36 32 38 64 62 62 61 36 61 65 35 38  70dd628dbba6ae58
cbe0: 33 36 62 39 61 63 33 64 62 63 64 37 39 35 66 39  36b9ac3dbcd795f9
cbf0: 65 66 64 62 38 37 34 32 61 33 35 62 63 61 32 33  efdb8742a35bca23
cc00: 32 61 62 66 33 36 65 62 33 62 36 36 39 38 62 32  2abf36eb3b6698b2
cc10: 39 33 33 39 36 35 38 30 32 32 37 37 62 61 39 35  933965802277ba95
cc20: 33 61 36 65 64 63 61 63 61 66 33 33 30 63 31 65  3a6edcacaf330c1e
cc30: 34 65 38 63 37 64 34 35 66 5d 7d 20 5c 0a 09 2d  4e8c7d45f]} \..-
cc40: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
cc50: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
cc60: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
cc70: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
cc80: 65 73 75 6c 74 20 31 35 38 62 66 63 33 34 38 61  esult 158bfc348a
cc90: 33 30 62 34 66 61 62 62 65 33 35 35 61 37 64 34  30b4fabbe355a7d4
cca0: 34 62 64 63 32 31 32 32 61 34 63 38 35 30 34 34  4bdc2122a4c85044
ccb0: 34 63 30 33 66 32 38 39 30 30 33 63 65 30 31 62  4c03f289003ce01b
ccc0: 66 63 31 65 62 66 33 65 63 63 30 66 65 62 62 36  fc1ebf3ecc0febb6
ccd0: 61 38 66 66 35 32 33 64 32 35 64 62 37 36 38 31  a8ff523d25db7681
cce0: 62 30 35 62 64 63 65 30 34 38 64 31 31 39 34 33  b05bdce048d11943
ccf0: 61 62 34 37 36 63 31 39 36 37 63 66 36 35 35 36  ab476c1967cf6556
cd00: 63 34 61 31 32 30 0a 0a 74 63 6c 74 65 73 74 3a  c4a120..tcltest:
cd10: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
cd20: 32 2d 32 2e 31 32 31 20 7b 53 48 41 35 31 32 53  2-2.121 {SHA512S
cd30: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
cd40: 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20  straints SHA512 
cd50: 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64  \..-setup {set d
cd60: 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  ata [binary deco
cd70: 64 65 20 68 65 78 20 34 32 64 36 36 65 64 63 35  de hex 42d66edc5
cd80: 66 32 32 65 30 63 31 33 63 32 35 35 30 34 63 35  f22e0c13c25504c5
cd90: 31 30 31 61 35 64 31 37 32 64 32 64 62 37 32 30  101a5d172d2db720
cda0: 39 65 34 36 31 65 66 61 33 32 33 63 30 62 66 61  9e461efa323c0bfa
cdb0: 65 64 32 37 65 35 66 38 30 38 30 34 32 65 61 39  ed27e5f808042ea9
cdc0: 63 33 38 33 38 65 61 33 31 66 39 62 37 36 64 65  c3838ea31f9b76de
cdd0: 34 36 35 32 32 35 63 63 66 62 64 30 63 30 39 63  465225ccfbd0c09c
cde0: 61 30 64 39 66 30 37 65 39 61 34 33 65 33 65 34  a0d9f07e9a43e3e4
cdf0: 36 63 37 36 39 33 65 30 30 61 37 65 31 64 34 38  6c7693e00a7e1d48
ce00: 33 39 30 30 64 64 62 30 61 36 32 39 64 35 35 36  3900ddb0a629d556
ce10: 33 34 35 36 64 62 62 66 32 39 39 61 63 39 31 66  3456dbbf299ac91f
ce20: 39 32 63 33 64 33 63 31 37 62 30 35 64 31 38 30  92c3d3c17b05d180
ce30: 65 36 63 38 37 63 36 63 39 33 31 39 34 63 33 39  e6c87c6c93194c39
ce40: 64 39 30 32 37 33 66 63 66 34 61 34 38 32 63 35  d90273fcf4a482c5
ce50: 36 30 38 34 66 39 35 65 33 34 63 30 34 33 31 31  6084f95e34c04311
ce60: 66 61 38 30 34 33 38 5d 7d 20 5c 0a 09 2d 62 6f  fa80438]} \..-bo
ce70: 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20  dy {tls::digest 
ce80: 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 20 2d  -digest SHA512 -
ce90: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
cea0: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
ceb0: 75 6c 74 20 30 36 31 61 66 62 31 31 39 61 33 63  ult 061afb119a3c
cec0: 36 30 38 37 36 65 30 34 63 31 30 66 31 32 61 64  60876e04c10f12ad
ced0: 30 66 34 62 39 37 37 35 39 33 64 63 35 61 32 64  0f4b977593dc5a2d
cee0: 32 31 30 39 36 61 35 37 65 37 64 33 66 37 64 34  21096a57e7d3f7d4
cef0: 64 34 34 66 64 65 66 39 33 34 62 32 63 31 37 64  d44fdef934b2c17d
cf00: 37 35 33 30 36 37 34 65 34 66 34 61 31 63 31 37  7530674e4f4a1c17
cf10: 36 64 62 64 63 63 35 34 38 31 31 61 32 32 65 31  6dbdcc54811a22e1
cf20: 62 38 37 31 32 65 34 31 39 32 66 63 32 64 34 62  b8712e4192fc2d4b
cf30: 66 38 65 38 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  f8e8..tcltest::t
cf40: 65 73 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d  est Hash_SHA512-
cf50: 32 2e 31 32 32 20 7b 53 48 41 35 31 32 53 68 6f  2.122 {SHA512Sho
cf60: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
cf70: 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c 0a  raints SHA512 \.
cf80: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
cf90: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
cfa0: 20 68 65 78 20 66 39 31 62 62 32 65 31 61 39 63   hex f91bb2e1a9c
cfb0: 34 63 64 39 36 62 66 32 35 30 34 32 36 62 33 61  4cd96bf250426b3a
cfc0: 36 61 66 64 39 62 38 37 61 63 35 31 65 39 33 32  6afd9b87ac51e932
cfd0: 35 34 64 32 64 61 65 33 62 31 36 65 63 36 38 36  54d2dae3b16ec686
cfe0: 62 61 38 30 66 62 30 62 64 37 61 38 34 64 32 31  ba80fb0bd7a84d21
cff0: 38 36 36 30 65 39 30 30 37 35 39 33 30 37 35 62  8660e9007593075b
d000: 63 34 66 34 63 36 36 35 36 37 66 30 63 37 61 35  c4f4c66567f0c7a5
d010: 66 64 32 30 31 30 63 39 39 39 61 38 61 30 65 66  fd2010c999a8a0ef
d020: 61 38 31 66 38 39 66 66 35 62 66 65 66 65 30 66  a81f89ff5bfefe0f
d030: 62 39 31 30 66 30 34 34 32 65 36 64 34 61 37 63  b910f0442e6d4a7c
d040: 35 35 62 62 62 36 31 38 63 36 39 61 37 39 61 32  55bbb618c69a79a2
d050: 64 64 64 38 32 61 30 39 33 38 39 32 37 66 36 66  ddd82a0938927f6f
d060: 65 33 61 38 30 66 30 34 62 65 61 65 62 37 63 37  e3a80f04beaeb7c7
d070: 36 33 36 65 33 34 33 35 64 31 32 64 63 66 31 63  636e3435d12dcf1c
d080: 36 62 62 36 65 64 30 61 34 65 64 62 36 39 63 39  6bb6ed0a4edb69c9
d090: 36 35 37 66 61 39 33 5d 7d 20 5c 0a 09 2d 62 6f  657fa93]} \..-bo
d0a0: 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20  dy {tls::digest 
d0b0: 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 20 2d  -digest SHA512 -
d0c0: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
d0d0: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
d0e0: 75 6c 74 20 36 65 36 39 32 63 38 63 36 39 34 65  ult 6e692c8c694e
d0f0: 65 30 61 33 35 36 35 66 33 37 61 32 39 39 65 30  e0a3565f37a299e0
d100: 30 30 36 62 38 35 61 62 34 61 38 32 31 62 32 30  006b85ab4a821b20
d110: 65 37 36 37 39 38 32 32 30 32 32 39 66 36 35 36  e76798220229f656
d120: 65 66 63 36 61 32 30 32 31 31 61 34 65 37 65 34  efc6a20211a4e7e4
d130: 65 64 37 37 66 61 63 64 65 30 64 37 30 65 34 64  ed77facde0d70e4d
d140: 35 64 39 35 62 63 38 65 64 31 64 37 61 35 36 64  5d95bc8ed1d7a56d
d150: 38 64 66 31 34 34 36 64 35 36 32 66 30 34 34 62  8df1446d562f044b
d160: 33 34 34 63 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  344c..tcltest::t
d170: 65 73 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d  est Hash_SHA512-
d180: 32 2e 31 32 33 20 7b 53 48 41 35 31 32 53 68 6f  2.123 {SHA512Sho
d190: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
d1a0: 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c 0a  raints SHA512 \.
d1b0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
d1c0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
d1d0: 20 68 65 78 20 64 31 65 62 39 36 31 63 61 36 61   hex d1eb961ca6a
d1e0: 38 66 36 37 63 34 39 62 36 31 65 34 64 33 63 65  8f67c49b61e4d3ce
d1f0: 61 61 32 61 31 64 65 36 66 30 65 61 39 32 37 62  aa2a1de6f0ea927b
d200: 31 33 32 62 66 39 38 37 61 62 64 61 61 37 32 35  132bf987abdaa725
d210: 62 30 65 31 65 32 37 34 65 34 36 38 33 30 65 39  b0e1e274e46830e9
d220: 39 61 32 66 37 35 61 66 36 30 38 39 36 34 64 66  9a2f75af608964df
d230: 30 64 66 66 39 61 39 39 30 32 34 66 63 36 38 33  0dff9a99024fc683
d240: 39 62 61 63 35 61 63 64 31 30 32 30 32 66 39 32  9bac5acd10202f92
d250: 31 61 63 37 31 61 32 37 66 63 64 61 36 38 31 61  1ac71a27fcda681a
d260: 61 33 31 30 39 65 62 66 35 66 32 31 65 65 33 61  a3109ebf5f21ee3a
d270: 38 34 39 30 39 38 65 61 33 61 35 35 31 65 38 34  849098ea3a551e84
d280: 34 66 61 65 34 62 34 38 62 35 63 35 62 62 39 37  4fae4b48b5c5bb97
d290: 63 63 63 38 30 32 62 63 35 35 32 30 64 36 38 61  ccc802bc5520d68a
d2a0: 31 34 63 62 37 65 35 66 63 30 35 36 62 36 37 64  14cb7e5fc056b67d
d2b0: 38 38 39 64 38 37 36 65 66 62 38 32 64 30 65 39  889d876efb82d0e9
d2c0: 61 39 61 32 34 39 39 66 31 5d 7d 20 5c 0a 09 2d  a9a2499f1]} \..-
d2d0: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
d2e0: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
d2f0: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
d300: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
d310: 65 73 75 6c 74 20 33 39 62 32 63 37 36 65 63 32  esult 39b2c76ec2
d320: 30 37 31 32 30 64 65 34 62 33 32 30 63 37 66 65  07120de4b320c7fe
d330: 30 36 39 65 36 30 32 63 39 63 33 38 66 32 35 37  069e602c9c38f257
d340: 35 39 36 64 61 37 33 36 39 33 39 35 65 38 37 65  596da7369395e87e
d350: 62 36 34 62 33 61 63 66 66 39 38 38 63 31 38 33  b64b3acff988c183
d360: 39 61 63 32 36 39 64 35 30 31 32 63 30 39 33 66  9ac269d5012c093f
d370: 39 65 64 64 34 62 37 63 61 62 66 31 33 62 64 65  9edd4b7cabf13bde
d380: 61 37 64 34 32 65 39 36 39 61 62 31 30 38 32 36  a7d42e969ab10826
d390: 39 63 36 61 62 30 0a 0a 74 63 6c 74 65 73 74 3a  9c6ab0..tcltest:
d3a0: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
d3b0: 32 2d 32 2e 31 32 34 20 7b 53 48 41 35 31 32 53  2-2.124 {SHA512S
d3c0: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
d3d0: 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20  straints SHA512 
d3e0: 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64  \..-setup {set d
d3f0: 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  ata [binary deco
d400: 64 65 20 68 65 78 20 61 64 66 32 32 36 33 32 30  de hex adf226320
d410: 30 66 33 37 36 38 38 36 62 61 37 62 36 66 35 65  0f376886ba7b6f5e
d420: 34 34 31 31 64 35 66 30 37 66 37 64 39 64 31 30  4411d5f07f7d9d10
d430: 31 35 39 30 63 37 33 61 63 65 31 31 34 62 61 66  1590c73ace114baf
d440: 62 63 62 30 66 64 63 39 39 32 36 39 65 38 37 63  bcb0fdc99269e87c
d450: 64 32 63 65 61 64 32 61 31 63 66 65 35 37 34 34  d2cead2a1cfe5744
d460: 33 39 34 64 33 33 33 61 62 61 34 30 38 61 30 37  394d333aba408a07
d470: 65 32 31 66 33 30 32 33 33 62 36 35 62 39 30 37  e21f30233b65b907
d480: 34 37 32 65 39 65 33 63 37 64 36 65 37 61 61 36  472e9e3c7d6e7aa6
d490: 64 32 63 34 37 61 30 38 61 31 62 65 37 62 62 38  d2c47a08a1be7bb8
d4a0: 37 37 39 31 33 61 36 62 35 36 30 34 63 37 32 33  77913a6b5604c723
d4b0: 33 38 34 34 37 38 39 31 31 63 33 33 39 65 33 62  384478911c339e3b
d4c0: 35 66 65 35 32 37 63 37 65 32 38 38 37 30 35 61  5fe527c7e288705a
d4d0: 38 39 63 39 35 64 39 37 30 62 34 34 33 33 34 37  89c95d970b443347
d4e0: 38 39 37 65 37 39 66 36 63 35 32 32 62 61 66 65  897e79f6c522bafe
d4f0: 36 32 62 31 31 65 66 38 66 33 31 33 35 5d 7d 20  62b11ef8f3135]} 
d500: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
d510: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
d520: 41 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61  A512 -data $data
d530: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
d540: 74 20 2d 72 65 73 75 6c 74 20 33 63 32 33 64 32  t -result 3c23d2
d550: 64 38 63 66 34 64 62 36 61 63 36 61 34 32 65 32  d8cf4db6ac6a42e2
d560: 37 32 30 38 31 38 30 66 33 37 36 36 38 62 65 66  7208180f37668bef
d570: 35 65 65 30 61 33 66 38 37 39 34 38 33 63 38 65  5ee0a3f879483c8e
d580: 36 30 34 65 37 66 34 32 35 38 33 66 32 30 32 30  604e7f42583f2020
d590: 33 37 62 38 64 32 34 32 63 30 34 61 38 37 33 34  37b8d242c04a8734
d5a0: 35 62 38 62 65 36 64 63 38 62 31 32 31 64 36 34  5b8be6dc8b121d64
d5b0: 38 34 62 39 65 64 61 64 30 64 37 33 63 38 39 34  84b9edad0d73c894
d5c0: 63 31 32 38 38 66 35 63 61 65 0a 0a 74 63 6c 74  c1288f5cae..tclt
d5d0: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
d5e0: 48 41 35 31 32 2d 32 2e 31 32 35 20 7b 53 48 41  HA512-2.125 {SHA
d5f0: 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  512ShortMsg} \..
d600: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
d610: 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73  512 \..-setup {s
d620: 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20  et data [binary 
d630: 64 65 63 6f 64 65 20 68 65 78 20 31 38 65 37 35  decode hex 18e75
d640: 62 34 37 64 38 39 38 61 63 36 32 39 63 34 38 65  b47d898ac629c48e
d650: 38 30 64 62 66 62 37 35 64 61 65 31 65 31 37 30  80dbfb75dae1e170
d660: 30 62 37 37 31 31 36 35 65 63 63 64 62 31 38 64  0b771165eccdb18d
d670: 36 32 38 62 66 63 34 30 36 33 64 64 36 63 33 38  628bfc4063dd6c38
d680: 33 39 61 37 65 63 34 63 64 31 32 35 35 63 34 38  39a7ec4cd1255c48
d690: 32 31 62 30 37 38 63 64 31 37 34 36 34 37 62 33  21b078cd174647b3
d6a0: 32 30 62 62 36 38 35 35 34 31 64 35 31 37 63 35  20bb685541d517c5
d6b0: 37 39 66 36 62 38 65 33 63 64 64 32 65 31 30 39  79f6b8e3cdd2e109
d6c0: 61 36 31 30 63 37 61 39 32 31 36 35 33 62 32 30  a610c7a921653b20
d6d0: 34 61 64 30 31 38 64 30 33 34 30 64 39 39 33 38  4ad018d0340d9938
d6e0: 37 33 35 62 36 30 32 36 32 36 36 32 30 31 36 37  735b602626620167
d6f0: 36 37 65 31 64 38 38 32 34 61 36 34 39 35 34 30  67e1d8824a649540
d700: 38 36 32 32 39 63 30 65 33 62 35 62 64 39 61 64  86229c0e3b5bd9ad
d710: 38 38 63 35 34 63 31 64 63 35 61 61 34 65 37 36  88c54c1dc5aa4e76
d720: 38 66 66 31 61 39 34 37 30 65 65 36 66 36 65 39  8ff1a9470ee6f6e9
d730: 39 38 66 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  98f]} \..-body {
d740: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
d750: 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74 61  est SHA512 -data
d760: 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63   $data} \..-matc
d770: 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20  h exact -result 
d780: 30 31 63 37 35 36 62 37 63 32 30 62 35 66 39 35  01c756b7c20b5f95
d790: 66 64 32 62 30 37 39 61 62 36 61 35 30 66 32 38  fd2b079ab6a50f28
d7a0: 62 39 34 36 66 62 31 36 32 36 36 62 30 37 63 36  b946fb16266b07c6
d7b0: 30 36 30 39 34 35 64 63 34 66 65 39 65 30 64 32  060945dc4fe9e0d2
d7c0: 37 39 63 35 62 31 35 30 35 62 39 65 63 37 64 38  79c5b1505b9ec7d8
d7d0: 66 38 66 33 63 39 65 62 66 30 63 35 65 65 39 33  f8f3c9ebf0c5ee93
d7e0: 36 35 61 65 63 30 38 63 66 32 37 38 64 36 35 62  65aec08cf278d65b
d7f0: 36 34 64 61 65 63 63 63 31 39 64 33 63 62 66 34  64daeccc19d3cbf4
d800: 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20  ..tcltest::test 
d810: 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 31 32  Hash_SHA512-2.12
d820: 36 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  6 {SHA512ShortMs
d830: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
d840: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
d850: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
d860: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
d870: 20 63 32 39 36 33 33 34 32 63 66 61 61 38 38 63   c2963342cfaa88c
d880: 63 64 31 30 32 61 32 35 38 65 36 64 36 32 39 66  cd102a258e6d629f
d890: 36 62 30 64 33 36 37 64 64 35 35 31 31 36 35 30  6b0d367dd5511650
d8a0: 32 63 61 34 34 35 31 65 61 35 32 33 36 32 33 62  2ca4451ea523623b
d8b0: 63 34 31 37 35 38 31 39 61 30 36 34 38 64 66 33  c4175819a0648df3
d8c0: 31 36 38 65 38 65 61 38 66 31 30 65 64 32 37 33  168e8ea8f10ed273
d8d0: 35 34 38 30 37 64 37 36 65 30 32 65 65 31 66 64  54807d76e02ee1fd
d8e0: 66 31 63 39 63 36 35 35 65 65 32 62 39 66 64 30  f1c9c655ee2b9fd0
d8f0: 38 64 35 35 37 30 35 38 64 61 62 64 66 38 64 63  8d557058dabdf8dc
d900: 66 39 36 34 62 66 63 61 63 63 39 39 36 61 65 31  f964bfcacc996ae1
d910: 37 33 39 37 31 65 32 36 65 61 30 33 38 64 34 30  73971e26ea038d40
d920: 37 63 38 32 34 32 36 30 64 30 36 63 32 38 34 38  7c824260d06c2848
d930: 61 30 34 61 34 38 38 63 34 63 34 35 36 64 62 63  a04a488c4c456dbc
d940: 64 65 32 39 33 39 65 35 36 31 61 62 39 30 38 63  de2939e561ab908c
d950: 34 30 39 37 62 35 30 38 36 33 38 64 36 63 64 61  4097b508638d6cda
d960: 35 35 36 34 36 35 63 39 63 63 35 5d 7d 20 5c 0a  556465c9cc5]} \.
d970: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
d980: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
d990: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
d9a0: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
d9b0: 2d 72 65 73 75 6c 74 20 61 34 64 32 66 35 39 33  -result a4d2f593
d9c0: 39 33 61 35 66 65 61 36 31 32 63 33 63 37 34 35  93a5fea612c3c745
d9d0: 66 34 62 62 39 66 34 31 61 61 66 33 61 33 63 65  f4bb9f41aaf3a3ce
d9e0: 31 36 37 39 61 61 38 61 66 63 31 61 36 32 62 61  1679aa8afc1a62ba
d9f0: 61 34 65 64 34 35 32 38 31 39 34 31 38 63 38 61  a4ed452819418c8a
da00: 65 31 61 31 65 36 35 38 37 35 37 39 37 36 36 39  e1a1e65875797669
da10: 32 33 39 30 66 63 34 33 64 34 64 65 63 66 37 64  2390fc43d4decf7d
da20: 38 35 35 63 64 38 62 34 39 38 62 36 64 63 36 30  855cd8b498b6dc60
da30: 63 61 65 30 35 61 39 30 0a 0a 74 63 6c 74 65 73  cae05a90..tcltes
da40: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
da50: 35 31 32 2d 32 2e 31 32 37 20 7b 53 48 41 35 31  512-2.127 {SHA51
da60: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
da70: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
da80: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
da90: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
daa0: 63 6f 64 65 20 68 65 78 20 38 35 33 36 30 63 33  code hex 85360c3
dab0: 64 34 32 35 37 64 39 38 37 38 65 32 66 35 63 31  d4257d9878e2f5c1
dac0: 36 64 33 63 64 37 64 30 37 34 37 64 66 33 64 32  6d3cd7d0747df3d2
dad0: 33 31 65 31 61 38 66 36 33 66 64 64 63 36 39 62  31e1a8f63fddc69b
dae0: 33 62 31 31 30 31 61 66 37 32 31 35 33 64 65 34  3b1101af72153de4
daf0: 63 38 31 35 34 62 30 39 30 63 39 38 31 35 66 32  c8154b090c9815f2
db00: 34 36 36 65 30 65 34 66 30 32 66 33 61 66 33 61  466e0e4f02f3af3a
db10: 38 39 61 37 66 64 30 34 65 33 30 36 36 36 34 66  89a7fd04e306664f
db20: 39 33 65 35 34 39 30 64 34 63 65 37 66 63 31 36  93e5490d4ce7fc16
db30: 39 64 35 35 33 63 35 32 30 61 65 31 35 64 64 30  9d553c520ae15dd0
db40: 32 63 37 63 36 31 33 63 33 39 62 34 61 63 64 30  2c7c613c39b4acd0
db50: 30 65 30 63 39 61 33 63 35 30 31 35 36 36 65 35  0e0c9a3c501566e5
db60: 32 63 65 63 65 61 31 31 66 37 33 30 33 64 64 31  2cecea11f7303dd1
db70: 64 61 36 31 61 62 66 33 66 32 35 33 32 66 64 33  da61abf3f2532fd3
db80: 39 36 30 34 37 62 31 38 38 37 32 35 35 66 34 62  96047b1887255f4b
db90: 32 35 36 63 30 61 66 63 66 35 38 66 33 61 65 34  256c0afcf58f3ae4
dba0: 38 63 39 34 37 5d 7d 20 5c 0a 09 2d 62 6f 64 79  8c947]} \..-body
dbb0: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
dbc0: 69 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61  igest SHA512 -da
dbd0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
dbe0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
dbf0: 74 20 65 38 33 35 32 64 64 63 61 63 35 39 65 33  t e8352ddcac59e3
dc00: 37 37 65 61 30 66 39 63 33 32 62 62 62 34 33 64  77ea0f9c32bbb43d
dc10: 66 64 31 62 36 63 38 32 39 66 61 64 31 39 35 34  fd1b6c829fad1954
dc20: 32 34 30 63 34 31 62 37 63 34 35 62 30 62 30 39  240c41b7c45b0b09
dc30: 64 62 31 31 30 36 34 62 36 34 65 32 34 34 32 61  db11064b64e2442a
dc40: 39 36 66 36 35 33 30 61 61 63 32 63 34 61 62 66  96f6530aac2c4abf
dc50: 33 62 65 62 31 65 61 65 37 37 66 32 62 63 65 34  3beb1eae77f2bce4
dc60: 65 66 65 38 38 66 65 65 31 61 37 30 63 66 35 34  efe88fee1a70cf54
dc70: 32 33 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  23..tcltest::tes
dc80: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e  t Hash_SHA512-2.
dc90: 31 32 38 20 7b 53 48 41 35 31 32 53 68 6f 72 74  128 {SHA512Short
dca0: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
dcb0: 69 6e 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d  ints SHA512 \..-
dcc0: 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20  setup {set data 
dcd0: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
dce0: 65 78 20 63 31 33 65 36 63 61 33 61 62 62 38 39  ex c13e6ca3abb89
dcf0: 33 61 61 35 66 38 32 63 34 61 38 65 66 37 35 34  3aa5f82c4a8ef754
dd00: 34 36 30 36 32 38 61 66 36 62 37 35 61 66 30 32  460628af6b75af02
dd10: 31 36 38 66 34 35 62 37 32 66 38 66 30 39 65 34  168f45b72f8f09e4
dd20: 35 65 64 31 32 37 63 32 30 33 62 63 37 62 62 38  5ed127c203bc7bb8
dd30: 30 66 66 30 63 37 62 64 39 36 66 38 63 63 36 64  0ff0c7bd96f8cc6d
dd40: 38 31 31 30 38 36 38 65 62 32 63 66 63 30 31 30  8110868eb2cfc010
dd50: 33 37 64 38 30 35 38 39 39 32 61 36 63 66 32 65  37d8058992a6cf2e
dd60: 66 66 63 62 66 65 34 39 38 63 38 34 32 65 35 33  ffcbfe498c842e53
dd70: 61 32 65 36 38 61 37 39 33 38 36 37 39 36 38 62  a2e68a793867968b
dd80: 61 31 38 65 66 63 34 61 37 38 62 32 31 63 64 66  a18efc4a78b21cdf
dd90: 36 61 31 31 65 35 64 65 38 32 31 64 63 61 62 61  6a11e5de821dcaba
dda0: 62 31 34 39 32 31 64 64 62 33 33 36 32 35 64 34  b14921ddb33625d4
ddb0: 38 61 31 33 62 61 66 66 61 64 36 66 65 38 32 37  8a13baffad6fe827
ddc0: 32 64 62 64 66 34 34 33 33 62 64 30 66 37 62 38  2dbdf4433bd0f7b8
ddd0: 31 33 63 39 38 31 32 36 39 63 33 38 38 66 30 30  13c981269c388f00
dde0: 31 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  1]} \..-body {tl
ddf0: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
de00: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
de10: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
de20: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 36 65  exact -result 6e
de30: 35 36 66 37 37 66 36 38 38 33 64 30 62 64 34 66  56f77f6883d0bd4f
de40: 61 63 65 38 62 38 64 35 35 37 66 31 34 34 36 36  ace8b8d557f14466
de50: 31 39 38 39 66 36 36 64 35 31 62 31 66 65 34 62  1989f66d51b1fe4b
de60: 38 66 63 37 31 32 34 64 36 36 64 39 64 32 30 32  8fc7124d66d9d202
de70: 31 38 36 31 36 66 65 61 31 62 63 66 38 36 63 30  18616fea1bcf86c0
de80: 38 64 36 33 62 66 38 66 32 66 32 31 38 34 35 61  8d63bf8f2f21845a
de90: 33 65 35 31 39 30 38 33 62 39 33 37 65 37 30 61  3e519083b937e70a
dea0: 61 37 63 33 35 38 33 31 30 62 35 61 37 63 0a 0a  a7c358310b5a7c..
deb0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
dec0: 73 68 5f 53 48 41 35 31 32 2d 32 2e 31 32 39 20  sh_SHA512-2.129 
ded0: 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d  {SHA512ShortMsg}
dee0: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73   \..-constraints
def0: 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75   SHA512 \..-setu
df00: 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e  p {set data [bin
df10: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 66  ary decode hex f
df20: 64 32 32 30 33 65 34 36 37 35 37 34 65 38 33 34  d2203e467574e834
df30: 61 62 30 37 63 39 30 39 37 61 65 31 36 34 35 33  ab07c9097ae16453
df40: 32 66 32 34 62 65 31 65 62 35 64 38 38 66 31 61  2f24be1eb5d88f1a
df50: 66 37 37 34 38 63 65 66 66 30 64 32 63 36 37 61  f7748ceff0d2c67a
df60: 32 31 66 34 65 34 30 39 37 66 39 64 33 62 62 34  21f4e4097f9d3bb4
df70: 65 39 66 62 66 39 37 31 38 36 65 30 64 62 36 64  e9fbf97186e0db6d
df80: 62 30 31 30 30 32 33 30 61 35 32 62 34 35 33 64  b0100230a52b453d
df90: 34 32 31 66 38 61 62 39 63 39 61 36 30 34 33 61  421f8ab9c9a6043a
dfa0: 61 33 32 39 35 65 61 32 30 64 32 66 30 36 61 32  a3295ea20d2f06a2
dfb0: 66 33 37 34 37 30 64 38 61 39 39 30 37 35 66 31  f37470d8a99075f1
dfc0: 62 38 61 38 33 33 36 66 36 32 32 38 63 66 30 38  b8a8336f6228cf08
dfd0: 62 35 39 34 32 66 63 31 66 62 34 32 39 39 63 37  b5942fc1fb4299c7
dfe0: 64 32 34 38 30 65 38 65 38 32 62 63 65 31 37 35  d2480e8e82bce175
dff0: 35 34 30 62 64 66 61 64 37 37 35 32 62 63 39 35  540bdfad7752bc95
e000: 62 35 37 37 66 32 32 39 35 31 35 33 39 34 66 33  b577f229515394f3
e010: 61 65 35 63 65 63 38 37 30 61 34 62 32 66 38 5d  ae5cec870a4b2f8]
e020: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
e030: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
e040: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
e050: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
e060: 61 63 74 20 2d 72 65 73 75 6c 74 20 61 32 31 62  act -result a21b
e070: 31 30 37 37 64 35 32 62 32 37 61 63 35 34 35 61  1077d52b27ac545a
e080: 66 36 33 62 33 32 37 34 36 63 36 65 33 63 35 31  f63b32746c6e3c51
e090: 63 62 30 63 62 39 66 32 38 31 65 62 39 66 33 35  cb0cb9f281eb9f35
e0a0: 38 30 61 36 64 34 39 39 36 64 35 63 39 39 31 37  80a6d4996d5c9917
e0b0: 64 32 61 36 65 34 38 34 36 32 37 61 39 64 35 61  d2a6e484627a9d5a
e0c0: 30 36 66 61 31 62 32 35 33 32 37 61 39 64 37 31  06fa1b25327a9d71
e0d0: 30 65 30 32 37 33 38 37 66 63 33 65 30 37 64 37  0e027387fc3e07d7
e0e0: 63 34 64 31 34 63 36 30 38 36 63 63 0a 0a        c4d14c6086cc..