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.