Artifact
26e7224bc752e978ccaee7d116f172ae9c7c2fa42cd6a12fd5ce8185a69845ba:
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 2e 74 78   from "SHA512.tx
0020: 74 22 0a 6c 61 70 70 65 6e 64 20 61 75 74 6f 5f  t".lappend auto_
0030: 70 61 74 68 20 5b 66 69 6c 65 20 64 69 72 6e 61  path [file dirna
0040: 6d 65 20 5b 66 69 6c 65 20 64 69 72 6e 61 6d 65  me [file dirname
0050: 20 5b 66 69 6c 65 20 64 69 72 6e 61 6d 65 20 5b   [file dirname [
0060: 66 69 6c 65 20 64 69 72 6e 61 6d 65 20 5b 66 69  file dirname [fi
0070: 6c 65 20 6a 6f 69 6e 20 5b 70 77 64 5d 20 5b 69  le join [pwd] [i
0080: 6e 66 6f 20 73 63 72 69 70 74 5d 5d 5d 5d 5d 5d  nfo script]]]]]]
0090: 0a 70 61 63 6b 61 67 65 20 72 65 71 75 69 72 65  .package require
00a0: 20 74 6c 73 0a 70 61 63 6b 61 67 65 20 72 65 71   tls.package req
00b0: 75 69 72 65 20 74 63 6c 74 65 73 74 0a 0a 74 63  uire tcltest..tc
00c0: 6c 74 65 73 74 3a 3a 74 65 73 74 43 6f 6e 73 74  ltest::testConst
00d0: 72 61 69 6e 74 20 53 48 41 35 31 32 20 5b 65 78  raint SHA512 [ex
00e0: 70 72 20 7b 5b 6c 73 65 61 72 63 68 20 2d 6e 6f  pr {[lsearch -no
00f0: 63 61 73 65 20 5b 74 6c 73 3a 3a 64 69 67 65 73  case [tls::diges
0100: 74 73 5d 20 53 48 41 35 31 32 5d 20 3e 20 2d 31  ts] SHA512] > -1
0110: 7d 5d 0a 63 61 74 63 68 20 7b 74 6c 73 3a 3a 70  }].catch {tls::p
0120: 72 6f 76 69 64 65 72 20 6c 65 67 61 63 79 7d 0a  rovider legacy}.
0130: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
0140: 61 73 68 5f 53 48 41 35 31 32 2d 31 2e 31 20 7b  ash_SHA512-1.1 {
0150: 53 48 41 35 31 32 7d 20 5c 0a 09 2d 63 6f 6e 73  SHA512} \..-cons
0160: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
0170: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
0180: 74 61 20 22 22 7d 20 5c 0a 09 2d 62 6f 64 79 20  ta ""} \..-body 
0190: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
01a0: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
01b0: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
01c0: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
01d0: 20 63 66 38 33 65 31 33 35 37 65 65 66 62 38 62   cf83e1357eefb8b
01e0: 64 66 31 35 34 32 38 35 30 64 36 36 64 38 30 30  df1542850d66d800
01f0: 37 64 36 32 30 65 34 30 35 30 62 35 37 31 35 64  7d620e4050b5715d
0200: 63 38 33 66 34 61 39 32 31 64 33 36 63 65 39 63  c83f4a921d36ce9c
0210: 65 34 37 64 30 64 31 33 63 35 64 38 35 66 32 62  e47d0d13c5d85f2b
0220: 30 66 66 38 33 31 38 64 32 38 37 37 65 65 63 32  0ff8318d2877eec2
0230: 66 36 33 62 39 33 31 62 64 34 37 34 31 37 61 38  f63b931bd47417a8
0240: 31 61 35 33 38 33 32 37 61 66 39 32 37 64 61 33  1a538327af927da3
0250: 65 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  e..tcltest::test
0260: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 31 2e 32   Hash_SHA512-1.2
0270: 20 7b 53 48 41 35 31 32 7d 20 5c 0a 09 2d 63 6f   {SHA512} \..-co
0280: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
0290: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
02a0: 64 61 74 61 20 22 61 62 63 22 7d 20 5c 0a 09 2d  data "abc"} \..-
02b0: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
02c0: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
02d0: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
02e0: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
02f0: 65 73 75 6c 74 20 64 64 61 66 33 35 61 31 39 33  esult ddaf35a193
0300: 36 31 37 61 62 61 63 63 34 31 37 33 34 39 61 65  617abacc417349ae
0310: 32 30 34 31 33 31 31 32 65 36 66 61 34 65 38 39  20413112e6fa4e89
0320: 61 39 37 65 61 32 30 61 39 65 65 65 65 36 34 62  a97ea20a9eeee64b
0330: 35 35 64 33 39 61 32 31 39 32 39 39 32 61 32 37  55d39a2192992a27
0340: 34 66 63 31 61 38 33 36 62 61 33 63 32 33 61 33  4fc1a836ba3c23a3
0350: 66 65 65 62 62 64 34 35 34 64 34 34 32 33 36 34  feebbd454d442364
0360: 33 63 65 38 30 65 32 61 39 61 63 39 34 66 61 35  3ce80e2a9ac94fa5
0370: 34 63 61 34 39 66 0a 0a 74 63 6c 74 65 73 74 3a  4ca49f..tcltest:
0380: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
0390: 32 2d 31 2e 33 20 7b 53 48 41 35 31 32 7d 20 5c  2-1.3 {SHA512} \
03a0: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
03b0: 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  HA512 \..-setup 
03c0: 7b 73 65 74 20 64 61 74 61 20 22 61 62 63 64 62  {set data "abcdb
03d0: 63 64 65 63 64 65 66 64 65 66 67 65 66 67 68 66  cdecdefdefgefghf
03e0: 67 68 69 67 68 69 6a 68 69 6a 6b 69 6a 6b 6c 6a  ghighijhijkijklj
03f0: 6b 6c 6d 6b 6c 6d 6e 6c 6d 6e 6f 6d 6e 6f 70 6e  klmklmnlmnomnopn
0400: 6f 70 71 22 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  opq"} \..-body {
0410: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
0420: 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74 61  est SHA512 -data
0430: 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63   $data} \..-matc
0440: 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20  h exact -result 
0450: 32 30 34 61 38 66 63 36 64 64 61 38 32 66 30 61  204a8fc6dda82f0a
0460: 30 63 65 64 37 62 65 62 38 65 30 38 61 34 31 36  0ced7beb8e08a416
0470: 35 37 63 31 36 65 66 34 36 38 62 32 32 38 61 38  57c16ef468b228a8
0480: 32 37 39 62 65 33 33 31 61 37 30 33 63 33 33 35  279be331a703c335
0490: 39 36 66 64 31 35 63 31 33 62 31 62 30 37 66 39  96fd15c13b1b07f9
04a0: 61 61 31 64 33 62 65 61 35 37 37 38 39 63 61 30  aa1d3bea57789ca0
04b0: 33 31 61 64 38 35 63 37 61 37 31 64 64 37 30 33  31ad85c7a71dd703
04c0: 35 34 65 63 36 33 31 32 33 38 63 61 33 34 34 35  54ec631238ca3445
04d0: 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20  ..tcltest::test 
04e0: 48 61 73 68 5f 53 48 41 35 31 32 2d 31 2e 34 20  Hash_SHA512-1.4 
04f0: 7b 53 48 41 35 31 32 7d 20 5c 0a 09 2d 63 6f 6e  {SHA512} \..-con
0500: 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20  straints SHA512 
0510: 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64  \..-setup {set d
0520: 61 74 61 20 22 61 62 63 64 65 66 67 68 62 63 64  ata "abcdefghbcd
0530: 65 66 67 68 69 63 64 65 66 67 68 69 6a 64 65 66  efghicdefghijdef
0540: 67 68 69 6a 6b 65 66 67 68 69 6a 6b 6c 66 67 68  ghijkefghijklfgh
0550: 69 6a 6b 6c 6d 67 68 69 6a 6b 6c 6d 6e 68 69 6a  ijklmghijklmnhij
0560: 6b 6c 6d 6e 6f 69 6a 6b 6c 6d 6e 6f 70 6a 6b 6c  klmnoijklmnopjkl
0570: 6d 6e 6f 70 71 6b 6c 6d 6e 6f 70 71 72 6c 6d 6e  mnopqklmnopqrlmn
0580: 6f 70 71 72 73 6d 6e 6f 70 71 72 73 74 6e 6f 70  opqrsmnopqrstnop
0590: 71 72 73 74 75 22 7d 20 5c 0a 09 2d 62 6f 64 79  qrstu"} \..-body
05a0: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
05b0: 69 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61  igest SHA512 -da
05c0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
05d0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
05e0: 74 20 38 65 39 35 39 62 37 35 64 61 65 33 31 33  t 8e959b75dae313
05f0: 64 61 38 63 66 34 66 37 32 38 31 34 66 63 31 34  da8cf4f72814fc14
0600: 33 66 38 66 37 37 37 39 63 36 65 62 39 66 37 66  3f8f7779c6eb9f7f
0610: 61 31 37 32 39 39 61 65 61 64 62 36 38 38 39 30  a17299aeadb68890
0620: 31 38 35 30 31 64 32 38 39 65 34 39 30 30 66 37  18501d289e4900f7
0630: 65 34 33 33 31 62 39 39 64 65 63 34 62 35 34 33  e4331b99dec4b543
0640: 33 61 63 37 64 33 32 39 65 65 62 36 64 64 32 36  3ac7d329eeb6dd26
0650: 35 34 35 65 39 36 65 35 35 62 38 37 34 62 65 39  545e96e55b874be9
0660: 30 39 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  09..tcltest::tes
0670: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 31 2e  t Hash_SHA512-1.
0680: 35 20 7b 53 48 41 35 31 32 7d 20 5c 0a 09 2d 63  5 {SHA512} \..-c
0690: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
06a0: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
06b0: 20 64 61 74 61 20 5b 73 74 72 69 6e 67 20 72 65   data [string re
06c0: 70 65 61 74 20 22 61 22 20 31 30 30 30 30 30 30  peat "a" 1000000
06d0: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
06e0: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
06f0: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
0700: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
0710: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 65 37 31  xact -result e71
0720: 38 34 38 33 64 30 63 65 37 36 39 36 34 34 65 32  8483d0ce769644e2
0730: 65 34 32 63 37 62 63 31 35 62 34 36 33 38 65 31  e42c7bc15b4638e1
0740: 66 39 38 62 31 33 62 32 30 34 34 32 38 35 36 33  f98b13b204428563
0750: 32 61 38 30 33 61 66 61 39 37 33 65 62 64 65 30  2a803afa973ebde0
0760: 66 66 32 34 34 38 37 37 65 61 36 30 61 34 63 62  ff244877ea60a4cb
0770: 30 34 33 32 63 65 35 37 37 63 33 31 62 65 62 30  0432ce577c31beb0
0780: 30 39 63 35 63 32 63 34 39 61 61 32 65 34 65 61  09c5c2c49aa2e4ea
0790: 64 62 32 31 37 61 64 38 63 63 30 39 62 0a 0a 74  db217ad8cc09b..t
07a0: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
07b0: 68 5f 53 48 41 35 31 32 2d 31 2e 36 20 7b 53 48  h_SHA512-1.6 {SH
07c0: 41 35 31 32 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72  A512} \..-constr
07d0: 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c 0a 09  aints SHA512 \..
07e0: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
07f0: 20 5b 73 74 72 69 6e 67 20 72 65 70 65 61 74 20   [string repeat 
0800: 22 61 62 63 64 65 66 67 68 62 63 64 65 66 67 68  "abcdefghbcdefgh
0810: 69 63 64 65 66 67 68 69 6a 64 65 66 67 68 69 6a  icdefghijdefghij
0820: 6b 65 66 67 68 69 6a 6b 6c 66 67 68 69 6a 6b 6c  kefghijklfghijkl
0830: 6d 67 68 69 6a 6b 6c 6d 6e 68 69 6a 6b 6c 6d 6e  mghijklmnhijklmn
0840: 6f 22 20 31 36 37 37 37 32 31 36 5d 7d 20 5c 0a  o" 16777216]} \.
0850: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
0860: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
0870: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
0880: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
0890: 2d 72 65 73 75 6c 74 20 62 34 37 63 39 33 33 34  -result b47c9334
08a0: 32 31 65 61 32 64 62 31 34 39 61 64 36 65 31 30  21ea2db149ad6e10
08b0: 66 63 65 36 63 37 66 39 33 64 30 37 35 32 33 38  fce6c7f93d075238
08c0: 30 31 38 30 66 66 64 37 66 34 36 32 39 61 37 31  0180ffd7f4629a71
08d0: 32 31 33 34 38 33 31 64 37 37 62 65 36 30 39 31  2134831d77be6091
08e0: 62 38 31 39 65 64 33 35 32 63 32 39 36 37 61 32  b819ed352c2967a2
08f0: 65 32 64 34 66 61 35 30 35 30 37 32 33 63 39 36  e2d4fa5050723c96
0900: 33 30 36 39 31 66 31 61 30 35 61 37 32 38 31 64  30691f1a05a7281d
0910: 62 65 36 63 31 30 38 36 0a 0a 74 63 6c 74 65 73  be6c1086..tcltes
0920: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
0930: 35 31 32 2d 31 2e 37 20 7b 53 48 41 35 31 32 7d  512-1.7 {SHA512}
0940: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73   \..-constraints
0950: 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75   SHA512 \..-setu
0960: 70 20 7b 73 65 74 20 64 61 74 61 20 22 22 7d 20  p {set data ""} 
0970: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
0980: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
0990: 41 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61  A512 -data $data
09a0: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
09b0: 74 20 2d 72 65 73 75 6c 74 20 63 66 38 33 65 31  t -result cf83e1
09c0: 33 35 37 65 65 66 62 38 62 64 66 31 35 34 32 38  357eefb8bdf15428
09d0: 35 30 64 36 36 64 38 30 30 37 64 36 32 30 65 34  50d66d8007d620e4
09e0: 30 35 30 62 35 37 31 35 64 63 38 33 66 34 61 39  050b5715dc83f4a9
09f0: 32 31 64 33 36 63 65 39 63 65 34 37 64 30 64 31  21d36ce9ce47d0d1
0a00: 33 63 35 64 38 35 66 32 62 30 66 66 38 33 31 38  3c5d85f2b0ff8318
0a10: 64 32 38 37 37 65 65 63 32 66 36 33 62 39 33 31  d2877eec2f63b931
0a20: 62 64 34 37 34 31 37 61 38 31 61 35 33 38 33 32  bd47417a81a53832
0a30: 37 61 66 39 32 37 64 61 33 65 0a 0a 74 63 6c 74  7af927da3e..tclt
0a40: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
0a50: 48 41 35 31 32 2d 31 2e 38 20 7b 53 48 41 35 31  HA512-1.8 {SHA51
0a60: 32 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  2} \..-constrain
0a70: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
0a80: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
0a90: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
0aa0: 20 5b 73 74 72 69 6e 67 20 72 65 70 65 61 74 20   [string repeat 
0ab0: 30 30 20 31 31 31 5d 5d 7d 20 5c 0a 09 2d 62 6f  00 111]]} \..-bo
0ac0: 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20  dy {tls::digest 
0ad0: 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 20 2d  -digest SHA512 -
0ae0: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
0af0: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
0b00: 75 6c 74 20 37 37 64 64 64 33 61 35 34 32 65 35  ult 77ddd3a542e5
0b10: 33 30 66 64 30 34 37 62 38 39 37 37 63 36 35 37  30fd047b8977c657
0b20: 62 61 36 63 65 37 32 66 31 34 39 32 65 33 36 30  ba6ce72f1492e360
0b30: 62 32 62 32 32 31 32 63 64 32 36 34 65 37 35 65  b2b2212cd264e75e
0b40: 63 30 33 38 38 32 65 34 66 66 30 35 32 35 35 31  c03882e4ff052551
0b50: 37 61 62 34 32 30 37 64 31 34 63 37 30 63 32 32  7ab4207d14c70c22
0b60: 35 39 62 61 38 38 64 34 64 33 33 35 65 65 30 65  59ba88d4d335ee0e
0b70: 37 65 32 30 35 34 33 64 32 32 31 30 32 61 62 31  7e20543d22102ab1
0b80: 37 38 38 63 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  788c..tcltest::t
0b90: 65 73 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d  est Hash_SHA512-
0ba0: 31 2e 39 20 7b 53 48 41 35 31 32 7d 20 5c 0a 09  1.9 {SHA512} \..
0bb0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
0bc0: 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73  512 \..-setup {s
0bd0: 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20  et data [binary 
0be0: 64 65 63 6f 64 65 20 68 65 78 20 5b 73 74 72 69  decode hex [stri
0bf0: 6e 67 20 72 65 70 65 61 74 20 30 30 20 31 31 32  ng repeat 00 112
0c00: 5d 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  ]]} \..-body {tl
0c10: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
0c20: 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24  t SHA512 -data $
0c30: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
0c40: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 32 62  exact -result 2b
0c50: 65 32 65 37 38 38 63 38 61 38 61 64 65 61 61 39  e2e788c8a8adeaa9
0c60: 63 38 39 61 37 66 37 38 39 30 34 63 61 63 65 61  c89a7f78904cacea
0c70: 36 65 33 39 32 39 37 64 37 35 65 30 35 37 33 61  6e39297d75e0573a
0c80: 37 33 63 37 35 36 32 33 34 35 33 34 64 36 36 32  73c756234534d662
0c90: 37 61 62 34 31 35 36 62 34 38 61 36 36 35 37 62  7ab4156b48a6657b
0ca0: 32 39 61 62 38 62 65 62 37 33 33 33 34 30 34 30  29ab8beb73334040
0cb0: 61 64 33 39 65 61 64 38 31 34 34 36 62 62 30 39  ad39ead81446bb09
0cc0: 63 37 30 37 30 34 65 63 37 30 37 39 35 32 0a 0a  c70704ec707952..
0cd0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
0ce0: 73 68 5f 53 48 41 35 31 32 2d 31 2e 31 30 20 7b  sh_SHA512-1.10 {
0cf0: 53 48 41 35 31 32 7d 20 5c 0a 09 2d 63 6f 6e 73  SHA512} \..-cons
0d00: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
0d10: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
0d20: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
0d30: 65 20 68 65 78 20 5b 73 74 72 69 6e 67 20 72 65  e hex [string re
0d40: 70 65 61 74 20 30 30 20 31 31 33 5d 5d 7d 20 5c  peat 00 113]]} \
0d50: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
0d60: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
0d70: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
0d80: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
0d90: 20 2d 72 65 73 75 6c 74 20 30 65 36 37 39 31 30   -result 0e67910
0da0: 62 63 66 30 66 39 63 63 64 65 35 34 36 34 63 36  bcf0f9ccde5464c6
0db0: 33 62 39 63 38 35 30 61 31 32 61 37 35 39 32 32  3b9c850a12a75922
0dc0: 37 64 31 36 62 30 34 30 64 39 38 39 38 36 64 35  7d16b040d98986d5
0dd0: 34 32 35 33 66 39 66 33 34 33 32 32 33 31 38 65  4253f9f34322318e
0de0: 35 36 62 38 66 65 62 38 36 63 35 66 62 32 32 37  56b8feb86c5fb227
0df0: 30 65 64 38 37 66 33 31 32 35 32 66 37 66 36 38  0ed87f31252f7f68
0e00: 34 39 33 65 65 37 35 39 37 34 33 39 30 39 62 64  493ee759743909bd
0e10: 37 35 65 34 62 62 35 34 34 0a 0a 74 63 6c 74 65  75e4bb544..tclte
0e20: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
0e30: 41 35 31 32 2d 31 2e 31 31 20 7b 53 48 41 35 31  A512-1.11 {SHA51
0e40: 32 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  2} \..-constrain
0e50: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
0e60: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
0e70: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
0e80: 20 5b 73 74 72 69 6e 67 20 72 65 70 65 61 74 20   [string repeat 
0e90: 30 30 20 31 32 32 5d 5d 7d 20 5c 0a 09 2d 62 6f  00 122]]} \..-bo
0ea0: 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20  dy {tls::digest 
0eb0: 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 20 2d  -digest SHA512 -
0ec0: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
0ed0: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
0ee0: 75 6c 74 20 34 66 33 66 30 39 35 64 30 31 35 62  ult 4f3f095d015b
0ef0: 65 34 61 37 61 37 63 63 30 62 38 63 30 34 64 61  e4a7a7cc0b8c04da
0f00: 34 61 61 30 39 65 37 34 33 35 31 65 33 61 39 37  4aa09e74351e3a97
0f10: 36 35 31 66 37 34 34 63 32 33 37 31 36 65 62 64  651f744c23716ebd
0f20: 39 62 33 65 38 32 32 65 35 30 37 37 61 30 31 62  9b3e822e5077a01b
0f30: 61 61 35 63 63 30 65 64 34 35 62 39 32 34 39 65  aa5cc0ed45b9249e
0f40: 38 38 61 62 33 34 33 64 34 33 33 33 35 33 39 64  88ab343d4333539d
0f50: 66 32 31 65 64 32 32 39 64 61 36 66 34 61 35 31  f21ed229da6f4a51
0f60: 34 65 30 66 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  4e0f..tcltest::t
0f70: 65 73 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d  est Hash_SHA512-
0f80: 31 2e 31 32 20 7b 53 48 41 35 31 32 7d 20 5c 0a  1.12 {SHA512} \.
0f90: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
0fa0: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
0fb0: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
0fc0: 20 64 65 63 6f 64 65 20 68 65 78 20 5b 73 74 72   decode hex [str
0fd0: 69 6e 67 20 72 65 70 65 61 74 20 30 30 20 31 30  ing repeat 00 10
0fe0: 30 30 5d 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  00]]} \..-body {
0ff0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
1000: 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74 61  est SHA512 -data
1010: 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63   $data} \..-matc
1020: 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20  h exact -result 
1030: 63 61 33 64 66 66 36 31 62 62 32 33 34 37 37 61  ca3dff61bb23477a
1040: 61 36 30 38 37 62 32 37 35 30 38 32 36 34 61 36  a6087b27508264a6
1050: 66 39 31 32 36 65 65 33 61 30 30 34 66 35 33 63  f9126ee3a004f53c
1060: 62 38 64 62 39 34 32 65 64 33 34 35 66 32 66 32  b8db942ed345f2f2
1070: 64 32 32 39 62 34 62 35 39 63 38 35 39 32 32 30  d229b4b59c859220
1080: 61 31 63 66 31 39 31 33 66 33 34 32 34 38 65 33  a1cf1913f34248e3
1090: 38 30 33 62 61 62 36 35 30 65 38 34 39 61 33 64  803bab650e849a3d
10a0: 39 61 37 30 39 65 64 63 30 39 61 65 34 61 37 36  9a709edc09ae4a76
10b0: 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20  ..tcltest::test 
10c0: 48 61 73 68 5f 53 48 41 35 31 32 2d 31 2e 31 33  Hash_SHA512-1.13
10d0: 20 7b 53 48 41 35 31 32 7d 20 5c 0a 09 2d 63 6f   {SHA512} \..-co
10e0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
10f0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
1100: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
1110: 6f 64 65 20 68 65 78 20 5b 73 74 72 69 6e 67 20  ode hex [string 
1120: 72 65 70 65 61 74 20 34 31 20 31 30 30 30 5d 5d  repeat 41 1000]]
1130: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
1140: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
1150: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
1160: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
1170: 61 63 74 20 2d 72 65 73 75 6c 74 20 33 32 39 63  act -result 329c
1180: 35 32 61 63 36 32 64 31 66 65 37 33 31 31 35 31  52ac62d1fe731151
1190: 66 32 62 38 39 35 61 30 30 34 37 35 34 34 35 65  f2b895a00475445e
11a0: 66 37 34 66 35 30 62 39 37 39 63 36 66 37 62 62  f74f50b979c6f7bb
11b0: 37 63 61 65 33 34 39 33 32 38 63 31 64 34 63 62  7cae349328c1d4cb
11c0: 34 66 37 32 36 31 61 30 61 62 34 33 66 39 33 36  4f7261a0ab43f936
11d0: 61 32 34 62 30 30 30 36 35 31 64 34 61 38 32 34  a24b000651d4a824
11e0: 66 63 64 64 35 37 37 66 32 31 31 61 65 66 38 66  fcdd577f211aef8f
11f0: 38 30 36 62 31 36 61 66 65 38 61 66 0a 0a 74 63  806b16afe8af..tc
1200: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
1210: 5f 53 48 41 35 31 32 2d 31 2e 31 34 20 7b 53 48  _SHA512-1.14 {SH
1220: 41 35 31 32 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72  A512} \..-constr
1230: 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c 0a 09  aints SHA512 \..
1240: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
1250: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
1260: 68 65 78 20 5b 73 74 72 69 6e 67 20 72 65 70 65  hex [string repe
1270: 61 74 20 35 35 20 31 30 30 35 5d 5d 7d 20 5c 0a  at 55 1005]]} \.
1280: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
1290: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
12a0: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
12b0: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
12c0: 2d 72 65 73 75 6c 74 20 35 39 66 35 65 35 34 66  -result 59f5e54f
12d0: 65 32 39 39 63 36 61 38 37 36 34 63 36 62 31 39  e299c6a8764c6b19
12e0: 39 65 34 34 39 32 34 61 33 37 66 35 39 65 32 62  9e44924a37f59e2b
12f0: 35 36 63 33 65 62 61 64 39 33 39 62 37 32 38 39  56c3ebad939b7289
1300: 32 31 30 64 63 38 65 34 63 32 31 62 39 37 32 30  210dc8e4c21b9720
1310: 31 36 35 62 30 66 34 64 34 33 37 34 63 39 30 66  165b0f4d4374c90f
1320: 31 62 66 34 66 62 34 61 35 61 63 65 31 37 61 31  1bf4fb4a5ace17a1
1330: 31 36 31 37 39 38 30 31 35 30 35 32 38 39 33 61  161798015052893a
1340: 34 38 63 33 64 31 36 31 0a 0a 74 63 6c 74 65 73  48c3d161..tcltes
1350: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
1360: 35 31 32 2d 31 2e 31 35 20 7b 53 48 41 35 31 32  512-1.15 {SHA512
1370: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
1380: 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74  s SHA512 \..-set
1390: 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69  up {set data [bi
13a0: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20  nary decode hex 
13b0: 5b 73 74 72 69 6e 67 20 72 65 70 65 61 74 20 30  [string repeat 0
13c0: 30 20 31 30 30 30 30 30 30 5d 5d 7d 20 5c 0a 09  0 1000000]]} \..
13d0: 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65  -body {tls::dige
13e0: 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31  st -digest SHA51
13f0: 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  2 -data $data} \
1400: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
1410: 72 65 73 75 6c 74 20 63 65 30 34 34 62 63 39 66  result ce044bc9f
1420: 64 34 33 32 36 39 64 35 62 62 63 39 34 36 63 62  d43269d5bbc946cb
1430: 65 62 63 33 62 62 37 31 31 33 34 31 31 31 35 63  ebc3bb711341115c
1440: 63 34 61 62 64 66 32 65 64 62 63 33 66 66 32 63  c4abdf2edbc3ff2c
1450: 35 37 61 64 34 62 31 35 64 65 62 36 39 39 62 64  57ad4b15deb699bd
1460: 61 32 35 37 66 65 61 35 61 65 66 39 63 36 65 35  a257fea5aef9c6e5
1470: 35 66 63 66 34 63 66 39 64 63 32 35 61 38 63 33  5fcf4cf9dc25a8c3
1480: 63 65 32 35 66 32 65 66 65 39 30 39 30 38 33 37  ce25f2efe9090837
1490: 39 62 66 66 37 65 64 0a 0a 74 63 6c 74 65 73 74  9bff7ed..tcltest
14a0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35  ::test Hash_SHA5
14b0: 31 32 2d 31 2e 31 36 20 7b 53 48 41 35 31 32 7d  12-1.16 {SHA512}
14c0: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73   \..-constraints
14d0: 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75   SHA512 \..-setu
14e0: 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e  p {set data [bin
14f0: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 5b  ary decode hex [
1500: 73 74 72 69 6e 67 20 72 65 70 65 61 74 20 35 61  string repeat 5a
1510: 20 35 33 36 38 37 30 39 31 32 5d 5d 7d 20 5c 0a   536870912]]} \.
1520: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
1530: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
1540: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
1550: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
1560: 2d 72 65 73 75 6c 74 20 64 61 31 37 32 32 37 39  -result da172279
1570: 66 33 65 62 62 64 61 39 35 66 36 62 36 65 31 65  f3ebbda95f6b6e1e
1580: 35 66 30 65 62 65 63 36 38 32 63 32 35 64 33 64  5f0ebec682c25d3d
1590: 39 33 35 36 31 61 31 36 32 34 63 32 66 61 39 30  93561a1624c2fa90
15a0: 30 39 64 36 34 63 37 65 39 39 32 33 66 33 62 34  09d64c7e9923f3b4
15b0: 36 62 63 61 66 31 31 64 33 39 61 35 33 31 66 34  6bcaf11d39a531f4
15c0: 33 32 39 37 39 39 32 62 61 34 31 35 35 63 37 65  3297992ba4155c7e
15d0: 38 32 37 62 64 30 66 31 65 31 39 34 61 65 37 65  827bd0f1e194ae7e
15e0: 64 36 64 65 34 63 61 63 0a 0a 74 63 6c 74 65 73  d6de4cac..tcltes
15f0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
1600: 35 31 32 2d 31 2e 31 37 20 7b 53 48 41 35 31 32  512-1.17 {SHA512
1610: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
1620: 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74  s SHA512 \..-set
1630: 75 70 20 7b 73 65 74 20 64 61 74 61 20 22 54 68  up {set data "Th
1640: 65 20 71 75 69 63 6b 20 62 72 6f 77 6e 20 66 6f  e quick brown fo
1650: 78 20 6a 75 6d 70 73 20 6f 76 65 72 20 74 68 65  x jumps over the
1660: 20 6c 61 7a 79 20 64 6f 67 22 7d 20 5c 0a 09 2d   lazy dog"} \..-
1670: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
1680: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
1690: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
16a0: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
16b0: 65 73 75 6c 74 20 30 37 65 35 34 37 64 39 35 38  esult 07e547d958
16c0: 36 66 36 61 37 33 66 37 33 66 62 61 63 30 34 33  6f6a73f73fbac043
16d0: 35 65 64 37 36 39 35 31 32 31 38 66 62 37 64 30  5ed76951218fb7d0
16e0: 63 38 64 37 38 38 61 33 30 39 64 37 38 35 34 33  c8d788a309d78543
16f0: 36 62 62 62 36 34 32 65 39 33 61 32 35 32 61 39  6bbb642e93a252a9
1700: 35 34 66 32 33 39 31 32 35 34 37 64 31 65 38 61  54f23912547d1e8a
1710: 33 62 35 65 64 36 65 31 62 66 64 37 30 39 37 38  3b5ed6e1bfd70978
1720: 32 31 32 33 33 66 61 30 35 33 38 66 33 64 62 38  21233fa0538f3db8
1730: 35 34 66 65 65 36 0a 0a 74 63 6c 74 65 73 74 3a  54fee6..tcltest:
1740: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
1750: 32 2d 31 2e 31 38 20 7b 53 48 41 35 31 32 7d 20  2-1.18 {SHA512} 
1760: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
1770: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
1780: 20 7b 73 65 74 20 64 61 74 61 20 22 61 62 63 22   {set data "abc"
1790: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
17a0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
17b0: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
17c0: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
17d0: 61 63 74 20 2d 72 65 73 75 6c 74 20 64 64 61 66  act -result ddaf
17e0: 33 35 61 31 39 33 36 31 37 61 62 61 63 63 34 31  35a193617abacc41
17f0: 37 33 34 39 61 65 32 30 34 31 33 31 31 32 65 36  7349ae20413112e6
1800: 66 61 34 65 38 39 61 39 37 65 61 32 30 61 39 65  fa4e89a97ea20a9e
1810: 65 65 65 36 34 62 35 35 64 33 39 61 32 31 39 32  eee64b55d39a2192
1820: 39 39 32 61 32 37 34 66 63 31 61 38 33 36 62 61  992a274fc1a836ba
1830: 33 63 32 33 61 33 66 65 65 62 62 64 34 35 34 64  3c23a3feebbd454d
1840: 34 34 32 33 36 34 33 63 65 38 30 65 32 61 39 61  4423643ce80e2a9a
1850: 63 39 34 66 61 35 34 63 61 34 39 66 0a 0a 74 63  c94fa54ca49f..tc
1860: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
1870: 5f 53 48 41 35 31 32 2d 31 2e 31 39 20 7b 53 48  _SHA512-1.19 {SH
1880: 41 35 31 32 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72  A512} \..-constr
1890: 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c 0a 09  aints SHA512 \..
18a0: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
18b0: 20 22 61 62 63 64 65 66 67 68 62 63 64 65 66 67   "abcdefghbcdefg
18c0: 68 69 63 64 65 66 67 68 69 6a 64 65 66 67 68 69  hicdefghijdefghi
18d0: 6a 6b 65 66 67 68 69 6a 6b 6c 66 67 68 69 6a 6b  jkefghijklfghijk
18e0: 6c 6d 67 68 69 6a 6b 6c 6d 6e 68 69 6a 6b 6c 6d  lmghijklmnhijklm
18f0: 6e 6f 69 6a 6b 6c 6d 6e 6f 70 6a 6b 6c 6d 6e 6f  noijklmnopjklmno
1900: 70 71 6b 6c 6d 6e 6f 70 71 72 6c 6d 6e 6f 70 71  pqklmnopqrlmnopq
1910: 72 73 6d 6e 6f 70 71 72 73 74 6e 6f 70 71 72 73  rsmnopqrstnopqrs
1920: 74 75 22 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74  tu"} \..-body {t
1930: 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65  ls::digest -dige
1940: 73 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20  st SHA512 -data 
1950: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
1960: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 38   exact -result 8
1970: 65 39 35 39 62 37 35 64 61 65 33 31 33 64 61 38  e959b75dae313da8
1980: 63 66 34 66 37 32 38 31 34 66 63 31 34 33 66 38  cf4f72814fc143f8
1990: 66 37 37 37 39 63 36 65 62 39 66 37 66 61 31 37  f7779c6eb9f7fa17
19a0: 32 39 39 61 65 61 64 62 36 38 38 39 30 31 38 35  299aeadb68890185
19b0: 30 31 64 32 38 39 65 34 39 30 30 66 37 65 34 33  01d289e4900f7e43
19c0: 33 31 62 39 39 64 65 63 34 62 35 34 33 33 61 63  31b99dec4b5433ac
19d0: 37 64 33 32 39 65 65 62 36 64 64 32 36 35 34 35  7d329eeb6dd26545
19e0: 65 39 36 65 35 35 62 38 37 34 62 65 39 30 39 0a  e96e55b874be909.
19f0: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
1a00: 61 73 68 5f 53 48 41 35 31 32 2d 31 2e 32 30 20  ash_SHA512-1.20 
1a10: 7b 53 48 41 35 31 32 7d 20 5c 0a 09 2d 63 6f 6e  {SHA512} \..-con
1a20: 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20  straints SHA512 
1a30: 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64  \..-setup {set d
1a40: 61 74 61 20 5b 73 74 72 69 6e 67 20 72 65 70 65  ata [string repe
1a50: 61 74 20 22 61 22 20 31 30 30 30 30 30 30 5d 7d  at "a" 1000000]}
1a60: 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a   \..-body {tls::
1a70: 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53  digest -digest S
1a80: 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61 74  HA512 -data $dat
1a90: 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61  a} \..-match exa
1aa0: 63 74 20 2d 72 65 73 75 6c 74 20 65 37 31 38 34  ct -result e7184
1ab0: 38 33 64 30 63 65 37 36 39 36 34 34 65 32 65 34  83d0ce769644e2e4
1ac0: 32 63 37 62 63 31 35 62 34 36 33 38 65 31 66 39  2c7bc15b4638e1f9
1ad0: 38 62 31 33 62 32 30 34 34 32 38 35 36 33 32 61  8b13b2044285632a
1ae0: 38 30 33 61 66 61 39 37 33 65 62 64 65 30 66 66  803afa973ebde0ff
1af0: 32 34 34 38 37 37 65 61 36 30 61 34 63 62 30 34  244877ea60a4cb04
1b00: 33 32 63 65 35 37 37 63 33 31 62 65 62 30 30 39  32ce577c31beb009
1b10: 63 35 63 32 63 34 39 61 61 32 65 34 65 61 64 62  c5c2c49aa2e4eadb
1b20: 32 31 37 61 64 38 63 63 30 39 62 0a 0a 74 63 6c  217ad8cc09b..tcl
1b30: 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f  test::test Hash_
1b40: 53 48 41 35 31 32 2d 31 2e 32 31 20 7b 53 48 41  SHA512-1.21 {SHA
1b50: 35 31 32 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  512} \..-constra
1b60: 69 6e 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d  ints SHA512 \..-
1b70: 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20  setup {set data 
1b80: 5b 73 74 72 69 6e 67 20 72 65 70 65 61 74 20 22  [string repeat "
1b90: 30 31 32 33 34 35 36 37 30 31 32 33 34 35 36 37  0123456701234567
1ba0: 30 31 32 33 34 35 36 37 30 31 32 33 34 35 36 37  0123456701234567
1bb0: 30 31 32 33 34 35 36 37 30 31 32 33 34 35 36 37  0123456701234567
1bc0: 30 31 32 33 34 35 36 37 30 31 32 33 34 35 36 37  0123456701234567
1bd0: 22 20 31 30 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  " 10]} \..-body 
1be0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
1bf0: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
1c00: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
1c10: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
1c20: 20 38 39 64 30 35 62 61 36 33 32 63 36 39 39 63   89d05ba632c699c
1c30: 33 31 32 33 31 64 65 64 34 66 66 63 31 32 37 64  31231ded4ffc127d
1c40: 35 61 38 39 34 64 61 64 34 31 32 63 30 65 30 32  5a894dad412c0e02
1c50: 34 64 62 38 37 32 64 31 61 62 64 32 62 61 38 31  4db872d1abd2ba81
1c60: 34 31 61 30 66 38 35 30 37 32 61 39 62 65 31 65  41a0f85072a9be1e
1c70: 32 61 61 30 34 63 66 33 33 63 37 36 35 63 62 35  2aa04cf33c765cb5
1c80: 31 30 38 31 33 61 33 39 63 64 35 61 38 34 63 34  10813a39cd5a84c4
1c90: 61 63 61 61 36 34 64 33 66 33 66 62 37 62 61 65  acaa64d3f3fb7bae
1ca0: 39 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  9..tcltest::test
1cb0: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 31 2e 32   Hash_SHA512-1.2
1cc0: 32 20 7b 53 48 41 35 31 32 7d 20 5c 0a 09 2d 63  2 {SHA512} \..-c
1cd0: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
1ce0: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
1cf0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
1d00: 63 6f 64 65 20 68 65 78 20 44 30 5d 7d 20 5c 0a  code hex D0]} \.
1d10: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
1d20: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
1d30: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
1d40: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
1d50: 2d 72 65 73 75 6c 74 20 39 39 39 32 32 30 32 39  -result 99922029
1d60: 33 38 65 38 38 32 65 37 33 65 32 30 66 36 62 36  38e882e73e20f6b6
1d70: 39 65 36 38 61 30 61 37 31 34 39 30 39 30 34 32  9e68a0a714909042
1d80: 33 64 39 33 63 38 31 62 61 62 33 66 32 31 36 37  3d93c81bab3f2167
1d90: 38 64 34 61 63 65 65 65 65 35 30 65 34 65 38 63  8d4aceeee50e4e8c
1da0: 61 66 61 64 61 34 63 38 35 61 35 34 65 61 38 33  afada4c85a54ea83
1db0: 30 36 38 32 36 63 34 61 64 36 65 37 34 63 65 63  06826c4ad6e74cec
1dc0: 65 39 36 33 31 62 66 61 38 61 35 34 39 62 34 61  e9631bfa8a549b4a
1dd0: 62 33 66 62 62 61 31 35 0a 0a 74 63 6c 74 65 73  b3fbba15..tcltes
1de0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
1df0: 35 31 32 2d 31 2e 32 33 20 7b 53 48 41 35 31 32  512-1.23 {SHA512
1e00: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
1e10: 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74  s SHA512 \..-set
1e20: 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69  up {set data [bi
1e30: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20  nary decode hex 
1e40: 38 64 34 65 33 63 30 65 33 38 38 39 31 39 31 34  8d4e3c0e38891914
1e50: 39 31 38 31 36 65 39 64 39 38 62 66 66 30 61 30  91816e9d98bff0a0
1e60: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
1e70: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
1e80: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
1e90: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
1ea0: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 63 62 30  xact -result cb0
1eb0: 62 36 37 61 34 62 38 37 31 32 63 64 37 33 63 39  b67a4b8712cd73c9
1ec0: 61 61 62 63 30 62 31 39 39 65 39 32 36 39 62 32  aabc0b199e9269b2
1ed0: 30 38 34 34 61 66 62 37 35 61 63 62 64 64 31 63  0844afb75acbdd1c
1ee0: 31 35 33 63 39 38 32 38 39 32 34 63 33 64 64 65  153c9828924c3dde
1ef0: 64 61 61 66 65 36 36 39 63 35 66 64 64 30 62 63  daafe669c5fdd0bc
1f00: 36 36 66 36 33 30 66 36 37 37 33 39 38 38 32 31  66f630f677398821
1f10: 33 65 62 31 62 31 36 66 35 31 37 61 64 30 64 65  3eb1b16f517ad0de
1f20: 34 62 32 66 30 63 39 35 63 39 30 66 38 0a 0a 74  4b2f0c95c90f8..t
1f30: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
1f40: 68 5f 53 48 41 35 31 32 2d 31 2e 32 34 20 7b 53  h_SHA512-1.24 {S
1f50: 48 41 35 31 32 7d 20 5c 0a 09 2d 63 6f 6e 73 74  HA512} \..-const
1f60: 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c 0a  raints SHA512 \.
1f70: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
1f80: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
1f90: 20 68 65 78 20 61 35 35 66 32 30 63 34 31 31 61   hex a55f20c411a
1fa0: 61 64 31 33 32 38 30 37 61 35 30 32 64 36 35 38  ad132807a502d658
1fb0: 32 34 65 33 31 61 32 33 30 35 34 33 32 61 61 33  24e31a2305432aa3
1fc0: 64 30 36 64 33 65 32 38 32 61 38 64 38 34 65 30  d06d3e282a8d84e0
1fd0: 64 65 31 64 65 36 39 37 34 62 66 34 39 35 34 36  de1de6974bf49546
1fe0: 39 66 63 37 66 33 33 38 66 38 30 35 34 64 35 38  9fc7f338f8054d58
1ff0: 63 32 36 63 34 39 33 36 30 63 33 65 38 37 61 66  c26c49360c3e87af
2000: 35 36 35 32 33 61 63 66 36 64 38 39 64 30 33 65  56523acf6d89d03e
2010: 35 36 66 66 32 66 38 36 38 30 30 32 62 63 33 65  56ff2f868002bc3e
2020: 34 33 31 65 64 63 34 34 64 66 32 66 30 32 32 33  431edc44df2f0223
2030: 64 34 62 62 33 62 32 34 33 35 38 36 65 31 61 37  d4bb3b243586e1a7
2040: 64 39 32 34 39 33 36 36 39 34 66 63 62 62 61 66  d924936694fcbbaf
2050: 38 38 64 39 35 31 39 65 34 65 62 35 30 61 36 34  88d9519e4eb50a64
2060: 34 66 38 65 34 66 39 35 65 62 30 65 61 39 35 62  4f8e4f95eb0ea95b
2070: 63 34 34 36 35 63 38 38 32 31 61 61 63 64 32 66  c4465c8821aacd2f
2080: 65 31 35 61 62 34 39 38 31 31 36 34 62 62 62 36  e15ab4981164bbb6
2090: 64 63 33 32 66 39 36 39 30 38 37 61 31 34 35 62  dc32f969087a145b
20a0: 30 64 39 63 63 39 63 36 37 63 32 32 62 37 36 33  0d9cc9c67c22b763
20b0: 32 39 39 34 31 39 63 63 34 31 32 38 62 65 39 61  299419cc4128be9a
20c0: 30 37 37 62 33 61 63 65 36 33 34 30 36 34 65 36  077b3ace634064e6
20d0: 64 39 39 32 38 33 35 31 33 64 63 30 36 65 37 35  d99283513dc06e75
20e0: 31 35 64 30 64 37 33 31 33 32 65 39 61 30 64 63  15d0d73132e9a0dc
20f0: 36 64 33 62 31 66 38 62 32 34 36 66 31 61 39 38  6d3b1f8b246f1a98
2100: 61 33 66 63 37 32 39 34 31 62 31 65 33 62 62 32  a3fc72941b1e3bb2
2110: 30 39 38 65 38 62 66 31 36 66 32 36 38 64 36 34  098e8bf16f268d64
2120: 66 30 62 30 66 34 37 30 37 66 65 31 65 61 31 61  f0b0f4707fe1ea1a
2130: 31 37 39 31 62 61 32 66 33 63 30 63 37 35 38 65  1791ba2f3c0c758e
2140: 35 66 35 35 31 38 36 33 61 39 36 63 39 34 39 61  5f551863a96c949a
2150: 64 34 37 64 37 66 62 34 30 64 32 5d 7d 20 5c 0a  d47d7fb40d2]} \.
2160: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
2170: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
2180: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
2190: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
21a0: 2d 72 65 73 75 6c 74 20 63 36 36 35 62 65 66 62  -result c665befb
21b0: 33 36 64 61 31 38 39 64 37 38 38 32 32 64 31 30  36da189d78822d10
21c0: 35 32 38 63 62 66 33 62 31 32 62 33 65 65 66 37  528cbf3b12b3eef7
21d0: 32 36 30 33 39 39 30 39 63 31 61 31 36 61 32 37  26039909c1a16a27
21e0: 30 64 34 38 37 31 39 33 37 37 39 36 36 62 39 35  0d48719377966b95
21f0: 37 61 38 37 38 65 37 32 30 35 38 34 37 37 39 61  7a878e720584779a
2200: 36 32 38 32 35 63 31 38 64 61 32 36 34 31 35 65  62825c18da26415e
2210: 34 39 61 37 31 37 36 61 38 39 34 65 37 35 31 30  49a7176a894e7510
2220: 66 64 31 34 35 31 66 35 0a 0a 23 20 43 6c 65 61  fd1451f5..# Clea
2230: 6e 75 70 0a 3a 3a 74 63 6c 74 65 73 74 3a 3a 63  nup.::tcltest::c
2240: 6c 65 61 6e 75 70 54 65 73 74 73 0a 72 65 74 75  leanupTests.retu
2250: 72 6e 0a                                         rn.