Artifact
fe91ce1b6dc6f0fac47bc9d3ee6f4e931128425c22ddb34ee8fbfec1e7db5654:
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 32 32 34 2e 74 78 from "SHA224.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 32 32 34 20 5b 65 78 raint SHA224 [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 32 32 34 5d 20 3e 20 2d 31 ts] SHA224] > -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 32 32 34 2d 31 2e 31 20 7b ash_SHA224-1.1 {
0150: 53 48 41 32 32 34 7d 20 5c 0a 09 2d 63 6f 6e 73 SHA224} \..-cons
0160: 74 72 61 69 6e 74 73 20 53 48 41 32 32 34 20 5c traints SHA224 \
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 32 32 34 20 2d 64 61 74 gest SHA224 -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 64 31 34 61 30 32 38 63 32 61 33 61 32 62 63 d14a028c2a3a2bc
01e0: 39 34 37 36 31 30 32 62 62 32 38 38 32 33 34 63 9476102bb288234c
01f0: 34 31 35 61 32 62 30 31 66 38 32 38 65 61 36 32 415a2b01f828ea62
0200: 61 63 35 62 33 65 34 32 66 0a 0a 74 63 6c 74 65 ac5b3e42f..tclte
0210: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 st::test Hash_SH
0220: 41 32 32 34 2d 31 2e 32 20 7b 53 48 41 32 32 34 A224-1.2 {SHA224
0230: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 } \..-constraint
0240: 73 20 53 48 41 32 32 34 20 5c 0a 09 2d 73 65 74 s SHA224 \..-set
0250: 75 70 20 7b 73 65 74 20 64 61 74 61 20 22 61 62 up {set data "ab
0260: 63 22 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c c"} \..-body {tl
0270: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 s::digest -diges
0280: 74 20 53 48 41 32 32 34 20 2d 64 61 74 61 20 24 t SHA224 -data $
0290: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 data} \..-match
02a0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 32 33 exact -result 23
02b0: 30 39 37 64 32 32 33 34 30 35 64 38 32 32 38 36 097d223405d82286
02c0: 34 32 61 34 37 37 62 64 61 32 35 35 62 33 32 61 42a477bda255b32a
02d0: 61 64 62 63 65 34 62 64 61 30 62 33 66 37 65 33 adbce4bda0b3f7e3
02e0: 36 63 39 64 61 37 0a 0a 74 63 6c 74 65 73 74 3a 6c9da7..tcltest:
02f0: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 32 32 :test Hash_SHA22
0300: 34 2d 31 2e 33 20 7b 53 48 41 32 32 34 7d 20 5c 4-1.3 {SHA224} \
0310: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 ..-constraints S
0320: 48 41 32 32 34 20 5c 0a 09 2d 73 65 74 75 70 20 HA224 \..-setup
0330: 7b 73 65 74 20 64 61 74 61 20 22 61 62 63 64 62 {set data "abcdb
0340: 63 64 65 63 64 65 66 64 65 66 67 65 66 67 68 66 cdecdefdefgefghf
0350: 67 68 69 67 68 69 6a 68 69 6a 6b 69 6a 6b 6c 6a ghighijhijkijklj
0360: 6b 6c 6d 6b 6c 6d 6e 6c 6d 6e 6f 6d 6e 6f 70 6e klmklmnlmnomnopn
0370: 6f 70 71 22 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b opq"} \..-body {
0380: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 tls::digest -dig
0390: 65 73 74 20 53 48 41 32 32 34 20 2d 64 61 74 61 est SHA224 -data
03a0: 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 $data} \..-matc
03b0: 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 h exact -result
03c0: 37 35 33 38 38 62 31 36 35 31 32 37 37 36 63 63 75388b16512776cc
03d0: 35 64 62 61 35 64 61 31 66 64 38 39 30 31 35 30 5dba5da1fd890150
03e0: 62 30 63 36 34 35 35 63 62 34 66 35 38 62 31 39 b0c6455cb4f58b19
03f0: 35 32 35 32 32 35 32 35 0a 0a 74 63 6c 74 65 73 52522525..tcltes
0400: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 t::test Hash_SHA
0410: 32 32 34 2d 31 2e 34 20 7b 53 48 41 32 32 34 7d 224-1.4 {SHA224}
0420: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 \..-constraints
0430: 20 53 48 41 32 32 34 20 5c 0a 09 2d 73 65 74 75 SHA224 \..-setu
0440: 70 20 7b 73 65 74 20 64 61 74 61 20 22 61 62 63 p {set data "abc
0450: 64 65 66 67 68 62 63 64 65 66 67 68 69 63 64 65 defghbcdefghicde
0460: 66 67 68 69 6a 64 65 66 67 68 69 6a 6b 65 66 67 fghijdefghijkefg
0470: 68 69 6a 6b 6c 66 67 68 69 6a 6b 6c 6d 67 68 69 hijklfghijklmghi
0480: 6a 6b 6c 6d 6e 68 69 6a 6b 6c 6d 6e 6f 69 6a 6b jklmnhijklmnoijk
0490: 6c 6d 6e 6f 70 6a 6b 6c 6d 6e 6f 70 71 6b 6c 6d lmnopjklmnopqklm
04a0: 6e 6f 70 71 72 6c 6d 6e 6f 70 71 72 73 6d 6e 6f nopqrlmnopqrsmno
04b0: 70 71 72 73 74 6e 6f 70 71 72 73 74 75 22 7d 20 pqrstnopqrstu"}
04c0: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 \..-body {tls::d
04d0: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 igest -digest SH
04e0: 41 32 32 34 20 2d 64 61 74 61 20 24 64 61 74 61 A224 -data $data
04f0: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 } \..-match exac
0500: 74 20 2d 72 65 73 75 6c 74 20 63 39 37 63 61 39 t -result c97ca9
0510: 61 35 35 39 38 35 30 63 65 39 37 61 30 34 61 39 a559850ce97a04a9
0520: 36 64 65 66 36 64 39 39 61 39 65 30 65 30 65 32 6def6d99a9e0e0e2
0530: 61 62 31 34 65 36 62 38 64 66 32 36 35 66 63 30 ab14e6b8df265fc0
0540: 62 33 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 b3..tcltest::tes
0550: 74 20 48 61 73 68 5f 53 48 41 32 32 34 2d 31 2e t Hash_SHA224-1.
0560: 35 20 7b 53 48 41 32 32 34 7d 20 5c 0a 09 2d 63 5 {SHA224} \..-c
0570: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 32 32 onstraints SHA22
0580: 34 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 4 \..-setup {set
0590: 20 64 61 74 61 20 5b 73 74 72 69 6e 67 20 72 65 data [string re
05a0: 70 65 61 74 20 22 61 22 20 31 30 30 30 30 30 30 peat "a" 1000000
05b0: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 ]} \..-body {tls
05c0: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 ::digest -digest
05d0: 20 53 48 41 32 32 34 20 2d 64 61 74 61 20 24 64 SHA224 -data $d
05e0: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 ata} \..-match e
05f0: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 32 30 37 xact -result 207
0600: 39 34 36 35 35 39 38 30 63 39 31 64 38 62 62 62 94655980c91d8bbb
0610: 34 63 31 65 61 39 37 36 31 38 61 34 62 66 30 33 4c1ea97618a4bf03
0620: 66 34 32 35 38 31 39 34 38 62 32 65 65 34 65 65 f42581948b2ee4ee
0630: 37 61 64 36 37 0a 0a 74 63 6c 74 65 73 74 3a 3a 7ad67..tcltest::
0640: 74 65 73 74 20 48 61 73 68 5f 53 48 41 32 32 34 test Hash_SHA224
0650: 2d 31 2e 36 20 7b 53 48 41 32 32 34 7d 20 5c 0a -1.6 {SHA224} \.
0660: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 .-constraints SH
0670: 41 32 32 34 20 5c 0a 09 2d 73 65 74 75 70 20 7b A224 \..-setup {
0680: 73 65 74 20 64 61 74 61 20 5b 73 74 72 69 6e 67 set data [string
0690: 20 72 65 70 65 61 74 20 22 61 62 63 64 65 66 67 repeat "abcdefg
06a0: 68 62 63 64 65 66 67 68 69 63 64 65 66 67 68 69 hbcdefghicdefghi
06b0: 6a 64 65 66 67 68 69 6a 6b 65 66 67 68 69 6a 6b jdefghijkefghijk
06c0: 6c 66 67 68 69 6a 6b 6c 6d 67 68 69 6a 6b 6c 6d lfghijklmghijklm
06d0: 6e 68 69 6a 6b 6c 6d 6e 6f 22 20 31 36 37 37 37 nhijklmno" 16777
06e0: 32 31 36 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 216]} \..-body {
06f0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 tls::digest -dig
0700: 65 73 74 20 53 48 41 32 32 34 20 2d 64 61 74 61 est SHA224 -data
0710: 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 $data} \..-matc
0720: 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 h exact -result
0730: 62 35 39 38 39 37 31 33 63 61 34 66 65 34 37 61 b5989713ca4fe47a
0740: 30 30 39 66 38 36 32 31 39 38 30 62 33 34 65 36 009f8621980b34e6
0750: 64 36 33 65 64 33 30 36 33 62 32 61 30 61 32 63 d63ed3063b2a0a2c
0760: 38 36 37 64 38 61 38 35 0a 0a 74 63 6c 74 65 73 867d8a85..tcltes
0770: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 t::test Hash_SHA
0780: 32 32 34 2d 31 2e 37 20 7b 53 48 41 32 32 34 7d 224-1.7 {SHA224}
0790: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 \..-constraints
07a0: 20 53 48 41 32 32 34 20 5c 0a 09 2d 73 65 74 75 SHA224 \..-setu
07b0: 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e p {set data [bin
07c0: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 66 ary decode hex f
07d0: 66 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c f]} \..-body {tl
07e0: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 s::digest -diges
07f0: 74 20 53 48 41 32 32 34 20 2d 64 61 74 61 20 24 t SHA224 -data $
0800: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 data} \..-match
0810: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 65 33 exact -result e3
0820: 33 66 39 64 37 35 65 36 61 65 31 33 36 39 64 62 3f9d75e6ae1369db
0830: 61 62 66 38 31 62 39 36 62 34 35 39 31 61 65 34 abf81b96b4591ae4
0840: 36 62 62 61 33 30 62 35 39 31 61 36 62 36 63 36 6bba30b591a6b6c6
0850: 32 35 34 32 62 35 0a 0a 74 63 6c 74 65 73 74 3a 2542b5..tcltest:
0860: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 32 32 :test Hash_SHA22
0870: 34 2d 31 2e 38 20 7b 53 48 41 32 32 34 7d 20 5c 4-1.8 {SHA224} \
0880: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 ..-constraints S
0890: 48 41 32 32 34 20 5c 0a 09 2d 73 65 74 75 70 20 HA224 \..-setup
08a0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 {set data [binar
08b0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 65 35 65 y decode hex e5e
08c0: 30 39 39 32 34 5d 7d 20 5c 0a 09 2d 62 6f 64 79 09924]} \..-body
08d0: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 {tls::digest -d
08e0: 69 67 65 73 74 20 53 48 41 32 32 34 20 2d 64 61 igest SHA224 -da
08f0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 ta $data} \..-ma
0900: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c tch exact -resul
0910: 74 20 66 64 31 39 65 37 34 36 39 30 64 32 39 31 t fd19e74690d291
0920: 34 36 37 63 65 35 39 66 30 37 37 64 66 33 31 31 467ce59f077df311
0930: 36 33 38 66 31 63 33 61 34 36 65 35 31 30 64 30 638f1c3a46e510d0
0940: 65 34 39 61 36 37 30 36 32 64 0a 0a 74 63 6c 74 e49a67062d..tclt
0950: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 est::test Hash_S
0960: 48 41 32 32 34 2d 31 2e 39 20 7b 53 48 41 32 32 HA224-1.9 {SHA22
0970: 34 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 4} \..-constrain
0980: 74 73 20 53 48 41 32 32 34 20 5c 0a 09 2d 73 65 ts SHA224 \..-se
0990: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 tup {set data [b
09a0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 inary decode hex
09b0: 20 5b 73 74 72 69 6e 67 20 72 65 70 65 61 74 20 [string repeat
09c0: 30 30 20 35 36 5d 5d 7d 20 5c 0a 09 2d 62 6f 64 00 56]]} \..-bod
09d0: 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d y {tls::digest -
09e0: 64 69 67 65 73 74 20 53 48 41 32 32 34 20 2d 64 digest SHA224 -d
09f0: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d ata $data} \..-m
0a00: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 atch exact -resu
0a10: 6c 74 20 35 63 33 65 32 35 62 36 39 64 30 65 61 lt 5c3e25b69d0ea
0a20: 32 36 66 32 36 30 63 66 61 65 38 37 65 32 33 37 26f260cfae87e237
0a30: 35 39 65 31 65 63 61 39 64 31 65 63 63 39 66 62 59e1eca9d1ecc9fb
0a40: 66 33 63 36 32 32 36 36 38 30 34 0a 0a 74 63 6c f3c62266804..tcl
0a50: 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f test::test Hash_
0a60: 53 48 41 32 32 34 2d 31 2e 31 30 20 7b 53 48 41 SHA224-1.10 {SHA
0a70: 32 32 34 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 224} \..-constra
0a80: 69 6e 74 73 20 53 48 41 32 32 34 20 5c 0a 09 2d ints SHA224 \..-
0a90: 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 setup {set data
0aa0: 5b 73 74 72 69 6e 67 20 72 65 70 65 61 74 20 22 [string repeat "
0ab0: 51 22 20 31 30 30 30 5d 7d 20 5c 0a 09 2d 62 6f Q" 1000]} \..-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 32 32 34 20 2d -digest SHA224 -
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 33 37 30 36 31 39 37 66 36 36 38 39 ult 3706197f6689
0b10: 30 61 34 31 37 37 39 64 63 38 37 39 31 36 37 30 0a41779dc8791670
0b20: 35 32 32 65 31 33 36 66 61 66 61 32 34 38 37 34 522e136fafa24874
0b30: 36 38 35 37 31 35 62 64 30 61 38 61 0a 0a 74 63 685715bd0a8a..tc
0b40: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 ltest::test Hash
0b50: 5f 53 48 41 32 32 34 2d 31 2e 31 31 20 7b 53 48 _SHA224-1.11 {SH
0b60: 41 32 32 34 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 A224} \..-constr
0b70: 61 69 6e 74 73 20 53 48 41 32 32 34 20 5c 0a 09 aints SHA224 \..
0b80: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 -setup {set data
0b90: 20 5b 73 74 72 69 6e 67 20 72 65 70 65 61 74 20 [string repeat
0ba0: 22 41 22 20 31 30 30 30 5d 7d 20 5c 0a 09 2d 62 "A" 1000]} \..-b
0bb0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 ody {tls::digest
0bc0: 20 2d 64 69 67 65 73 74 20 53 48 41 32 32 34 20 -digest SHA224
0bd0: 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 -data $data} \..
0be0: 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 -match exact -re
0bf0: 73 75 6c 74 20 61 38 64 30 63 36 36 62 35 63 36 sult a8d0c66b5c6
0c00: 66 64 66 64 38 33 36 65 62 33 63 36 64 30 34 64 fdfd836eb3c6d04d
0c10: 33 32 64 66 65 36 36 63 33 62 31 66 31 36 38 62 32dfe66c3b1f168b
0c20: 34 38 38 62 66 34 63 39 63 36 36 63 65 0a 0a 74 488bf4c9c66ce..t
0c30: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 cltest::test Has
0c40: 68 5f 53 48 41 32 32 34 2d 31 2e 31 32 20 7b 53 h_SHA224-1.12 {S
0c50: 48 41 32 32 34 7d 20 5c 0a 09 2d 63 6f 6e 73 74 HA224} \..-const
0c60: 72 61 69 6e 74 73 20 53 48 41 32 32 34 20 5c 0a raints SHA224 \.
0c70: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 .-setup {set dat
0c80: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 a [binary decode
0c90: 20 68 65 78 20 5b 73 74 72 69 6e 67 20 72 65 70 hex [string rep
0ca0: 65 61 74 20 39 39 20 31 30 30 35 5d 5d 7d 20 5c eat 99 1005]]} \
0cb0: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 ..-body {tls::di
0cc0: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 gest -digest SHA
0cd0: 32 32 34 20 2d 64 61 74 61 20 24 64 61 74 61 7d 224 -data $data}
0ce0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 \..-match exact
0cf0: 20 2d 72 65 73 75 6c 74 20 63 62 30 30 65 63 64 -result cb00ecd
0d00: 30 33 37 38 38 62 66 36 63 30 39 30 38 34 30 31 03788bf6c0908401
0d10: 65 30 65 62 30 35 33 61 63 36 31 66 33 35 65 37 e0eb053ac61f35e7
0d20: 65 32 30 61 32 63 66 64 37 62 64 39 36 64 36 34 e20a2cfd7bd96d64
0d30: 30 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 0..tcltest::test
0d40: 20 48 61 73 68 5f 53 48 41 32 32 34 2d 31 2e 31 Hash_SHA224-1.1
0d50: 33 20 7b 53 48 41 32 32 34 7d 20 5c 0a 09 2d 63 3 {SHA224} \..-c
0d60: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 32 32 onstraints SHA22
0d70: 34 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 4 \..-setup {set
0d80: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 data [binary de
0d90: 63 6f 64 65 20 68 65 78 20 5b 73 74 72 69 6e 67 code hex [string
0da0: 20 72 65 70 65 61 74 20 30 30 20 31 30 30 30 30 repeat 00 10000
0db0: 30 30 5d 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 00]]} \..-body {
0dc0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 tls::digest -dig
0dd0: 65 73 74 20 53 48 41 32 32 34 20 2d 64 61 74 61 est SHA224 -data
0de0: 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 $data} \..-matc
0df0: 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 h exact -result
0e00: 33 61 35 64 37 34 62 36 38 66 31 34 66 33 61 34 3a5d74b68f14f3a4
0e10: 62 32 62 65 39 32 38 39 62 38 64 33 37 30 36 37 b2be9289b8d37067
0e20: 32 64 30 62 33 64 32 66 35 33 62 63 33 30 33 63 2d0b3d2f53bc303c
0e30: 35 39 30 33 32 64 66 33 0a 0a 74 63 6c 74 65 73 59032df3..tcltes
0e40: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 t::test Hash_SHA
0e50: 32 32 34 2d 31 2e 31 34 20 7b 53 48 41 32 32 34 224-1.14 {SHA224
0e60: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 } \..-constraint
0e70: 73 20 53 48 41 32 32 34 20 5c 0a 09 2d 73 65 74 s SHA224 \..-set
0e80: 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 73 74 up {set data [st
0e90: 72 69 6e 67 20 72 65 70 65 61 74 20 22 41 22 20 ring repeat "A"
0ea0: 35 33 36 38 37 30 39 31 32 5d 7d 20 5c 0a 09 2d 536870912]} \..-
0eb0: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 body {tls::diges
0ec0: 74 20 2d 64 69 67 65 73 74 20 53 48 41 32 32 34 t -digest SHA224
0ed0: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a -data $data} \.
0ee0: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 .-match exact -r
0ef0: 65 73 75 6c 74 20 63 34 32 35 30 30 38 33 63 66 esult c4250083cf
0f00: 38 32 33 30 62 66 32 31 30 36 35 62 33 30 31 34 8230bf21065b3014
0f10: 62 61 61 61 66 39 66 37 36 66 65 63 65 66 63 32 baaaf9f76fecefc2
0f20: 31 66 39 31 63 66 32 33 37 64 65 64 63 39 0a 0a 1f91cf237dedc9..
0f30: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 tcltest::test Ha
0f40: 73 68 5f 53 48 41 32 32 34 2d 31 2e 31 35 20 7b sh_SHA224-1.15 {
0f50: 53 48 41 32 32 34 7d 20 5c 0a 09 2d 63 6f 6e 73 SHA224} \..-cons
0f60: 74 72 61 69 6e 74 73 20 53 48 41 32 32 34 20 5c traints SHA224 \
0f70: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 ..-setup {set da
0f80: 74 61 20 22 54 68 65 20 71 75 69 63 6b 20 62 72 ta "The quick br
0f90: 6f 77 6e 20 66 6f 78 20 6a 75 6d 70 73 20 6f 76 own fox jumps ov
0fa0: 65 72 20 74 68 65 20 6c 61 7a 79 20 64 6f 67 22 er the lazy dog"
0fb0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a } \..-body {tls:
0fc0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 :digest -digest
0fd0: 53 48 41 32 32 34 20 2d 64 61 74 61 20 24 64 61 SHA224 -data $da
0fe0: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 ta} \..-match ex
0ff0: 61 63 74 20 2d 72 65 73 75 6c 74 20 37 33 30 65 act -result 730e
1000: 31 30 39 62 64 37 61 38 61 33 32 62 31 63 62 39 109bd7a8a32b1cb9
1010: 64 39 61 30 39 61 61 32 33 32 35 64 32 34 33 30 d9a09aa2325d2430
1020: 35 38 37 64 64 62 63 30 63 33 38 62 61 64 39 31 587ddbc0c38bad91
1030: 31 35 32 35 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 1525..tcltest::t
1040: 65 73 74 20 48 61 73 68 5f 53 48 41 32 32 34 2d est Hash_SHA224-
1050: 31 2e 31 36 20 7b 53 48 41 32 32 34 7d 20 5c 0a 1.16 {SHA224} \.
1060: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 .-constraints SH
1070: 41 32 32 34 20 5c 0a 09 2d 73 65 74 75 70 20 7b A224 \..-setup {
1080: 73 65 74 20 64 61 74 61 20 22 61 62 63 22 7d 20 set data "abc"}
1090: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 \..-body {tls::d
10a0: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 igest -digest SH
10b0: 41 32 32 34 20 2d 64 61 74 61 20 24 64 61 74 61 A224 -data $data
10c0: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 } \..-match exac
10d0: 74 20 2d 72 65 73 75 6c 74 20 32 33 30 39 37 64 t -result 23097d
10e0: 32 32 33 34 30 35 64 38 32 32 38 36 34 32 61 34 223405d8228642a4
10f0: 37 37 62 64 61 32 35 35 62 33 32 61 61 64 62 63 77bda255b32aadbc
1100: 65 34 62 64 61 30 62 33 66 37 65 33 36 63 39 64 e4bda0b3f7e36c9d
1110: 61 37 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 a7..tcltest::tes
1120: 74 20 48 61 73 68 5f 53 48 41 32 32 34 2d 31 2e t Hash_SHA224-1.
1130: 31 37 20 7b 53 48 41 32 32 34 7d 20 5c 0a 09 2d 17 {SHA224} \..-
1140: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 32 constraints SHA2
1150: 32 34 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 24 \..-setup {se
1160: 74 20 64 61 74 61 20 22 61 62 63 64 62 63 64 65 t data "abcdbcde
1170: 63 64 65 66 64 65 66 67 65 66 67 68 66 67 68 69 cdefdefgefghfghi
1180: 67 68 69 6a 68 69 6a 6b 69 6a 6b 6c 6a 6b 6c 6d ghijhijkijkljklm
1190: 6b 6c 6d 6e 6c 6d 6e 6f 6d 6e 6f 70 6e 6f 70 71 klmnlmnomnopnopq
11a0: 22 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 "} \..-body {tls
11b0: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 ::digest -digest
11c0: 20 53 48 41 32 32 34 20 2d 64 61 74 61 20 24 64 SHA224 -data $d
11d0: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 ata} \..-match e
11e0: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 37 35 33 xact -result 753
11f0: 38 38 62 31 36 35 31 32 37 37 36 63 63 35 64 62 88b16512776cc5db
1200: 61 35 64 61 31 66 64 38 39 30 31 35 30 62 30 63 a5da1fd890150b0c
1210: 36 34 35 35 63 62 34 66 35 38 62 31 39 35 32 35 6455cb4f58b19525
1220: 32 32 35 32 35 0a 0a 74 63 6c 74 65 73 74 3a 3a 22525..tcltest::
1230: 74 65 73 74 20 48 61 73 68 5f 53 48 41 32 32 34 test Hash_SHA224
1240: 2d 31 2e 31 38 20 7b 53 48 41 32 32 34 7d 20 5c -1.18 {SHA224} \
1250: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 ..-constraints S
1260: 48 41 32 32 34 20 5c 0a 09 2d 73 65 74 75 70 20 HA224 \..-setup
1270: 7b 73 65 74 20 64 61 74 61 20 5b 73 74 72 69 6e {set data [strin
1280: 67 20 72 65 70 65 61 74 20 22 61 22 20 31 30 30 g repeat "a" 100
1290: 30 30 30 30 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 0000]} \..-body
12a0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 {tls::digest -di
12b0: 67 65 73 74 20 53 48 41 32 32 34 20 2d 64 61 74 gest SHA224 -dat
12c0: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 a $data} \..-mat
12d0: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 ch exact -result
12e0: 20 32 30 37 39 34 36 35 35 39 38 30 63 39 31 64 20794655980c91d
12f0: 38 62 62 62 34 63 31 65 61 39 37 36 31 38 61 34 8bbb4c1ea97618a4
1300: 62 66 30 33 66 34 32 35 38 31 39 34 38 62 32 65 bf03f42581948b2e
1310: 65 34 65 65 37 61 64 36 37 0a 0a 74 63 6c 74 65 e4ee7ad67..tclte
1320: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 st::test Hash_SH
1330: 41 32 32 34 2d 31 2e 31 39 20 7b 53 48 41 32 32 A224-1.19 {SHA22
1340: 34 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 4} \..-constrain
1350: 74 73 20 53 48 41 32 32 34 20 5c 0a 09 2d 73 65 ts SHA224 \..-se
1360: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 73 tup {set data [s
1370: 74 72 69 6e 67 20 72 65 70 65 61 74 20 22 30 31 tring repeat "01
1380: 32 33 34 35 36 37 30 31 32 33 34 35 36 37 30 31 2345670123456701
1390: 32 33 34 35 36 37 30 31 32 33 34 35 36 37 30 31 2345670123456701
13a0: 32 33 34 35 36 37 30 31 32 33 34 35 36 37 30 31 2345670123456701
13b0: 32 33 34 35 36 37 30 31 32 33 34 35 36 37 22 20 23456701234567"
13c0: 31 30 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 10]} \..-body {t
13d0: 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 ls::digest -dige
13e0: 73 74 20 53 48 41 32 32 34 20 2d 64 61 74 61 20 st SHA224 -data
13f0: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 $data} \..-match
1400: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 35 exact -result 5
1410: 36 37 66 36 39 66 31 36 38 63 64 37 38 34 34 65 67f69f168cd7844e
1420: 36 35 32 35 39 63 65 36 35 38 66 65 37 61 61 64 65259ce658fe7aad
1430: 66 61 32 35 32 31 36 65 36 38 65 63 61 30 65 62 fa25216e68eca0eb
1440: 37 61 62 38 32 36 32 0a 0a 74 63 6c 74 65 73 74 7ab8262..tcltest
1450: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 32 ::test Hash_SHA2
1460: 32 34 2d 31 2e 32 30 20 7b 53 48 41 32 32 34 7d 24-1.20 {SHA224}
1470: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 \..-constraints
1480: 20 53 48 41 32 32 34 20 5c 0a 09 2d 73 65 74 75 SHA224 \..-setu
1490: 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e p {set data [bin
14a0: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 30 ary decode hex 0
14b0: 37 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 7]} \..-body {tl
14c0: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 s::digest -diges
14d0: 74 20 53 48 41 32 32 34 20 2d 64 61 74 61 20 24 t SHA224 -data $
14e0: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 data} \..-match
14f0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 30 30 exact -result 00
1500: 65 63 64 35 66 31 33 38 34 32 32 62 38 61 64 37 ecd5f138422b8ad7
1510: 34 63 39 37 39 39 66 64 38 32 36 63 35 33 31 62 4c9799fd826c531b
1520: 61 64 32 66 63 61 62 63 37 34 35 30 62 65 65 32 ad2fcabc7450bee2
1530: 61 61 38 63 32 61 0a 0a 74 63 6c 74 65 73 74 3a aa8c2a..tcltest:
1540: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 32 32 :test Hash_SHA22
1550: 34 2d 31 2e 32 31 20 7b 53 48 41 32 32 34 7d 20 4-1.21 {SHA224}
1560: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 \..-constraints
1570: 53 48 41 32 32 34 20 5c 0a 09 2d 73 65 74 75 70 SHA224 \..-setup
1580: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 {set data [bina
1590: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 31 38 ry decode hex 18
15a0: 38 30 34 30 30 35 64 64 34 66 62 64 31 35 35 36 804005dd4fbd1556
15b0: 32 39 39 64 36 66 39 64 39 33 64 66 36 32 5d 7d 299d6f9d93df62]}
15c0: 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a \..-body {tls::
15d0: 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 digest -digest S
15e0: 48 41 32 32 34 20 2d 64 61 74 61 20 24 64 61 74 HA224 -data $dat
15f0: 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 a} \..-match exa
1600: 63 74 20 2d 72 65 73 75 6c 74 20 64 66 39 30 64 ct -result df90d
1610: 37 38 61 61 37 38 38 32 31 63 39 39 62 34 30 62 78aa78821c99b40b
1620: 61 34 63 39 36 36 39 32 31 61 63 63 64 38 66 66 a4c966921accd8ff
1630: 62 31 65 39 38 61 63 33 38 38 65 35 36 31 39 31 b1e98ac388e56191
1640: 64 62 31 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 db1..tcltest::te
1650: 73 74 20 48 61 73 68 5f 53 48 41 32 32 34 2d 31 st Hash_SHA224-1
1660: 2e 32 32 20 7b 53 48 41 32 32 34 7d 20 5c 0a 09 .22 {SHA224} \..
1670: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 -constraints SHA
1680: 32 32 34 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 224 \..-setup {s
1690: 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 et data [binary
16a0: 64 65 63 6f 64 65 20 68 65 78 20 35 35 62 32 31 decode hex 55b21
16b0: 30 30 37 39 63 36 31 62 35 33 61 64 64 35 32 30 0079c61b53add520
16c0: 36 32 32 64 31 61 63 39 37 64 35 63 64 62 65 38 622d1ac97d5cdbe8
16d0: 63 62 33 33 61 61 30 61 65 33 34 34 35 31 37 62 cb33aa0ae344517b
16e0: 65 65 34 64 37 62 61 30 39 61 62 63 38 35 33 33 ee4d7ba09abc8533
16f0: 63 35 32 35 30 38 38 37 61 34 33 62 65 62 62 61 c5250887a43bebba
1700: 63 39 30 36 63 32 65 31 38 33 37 66 32 36 62 33 c906c2e1837f26b3
1710: 36 61 35 39 61 65 33 62 65 37 38 31 34 64 35 30 6a59ae3be7814d50
1720: 36 38 39 36 62 37 31 38 62 32 61 33 38 33 65 63 6896b718b2a383ec
1730: 64 61 63 31 36 62 39 36 31 32 35 35 35 33 66 34 dac16b96125553f4
1740: 31 36 66 66 33 32 63 36 36 37 34 63 37 34 35 39 16ff32c6674c7459
1750: 39 61 39 30 30 35 33 38 36 64 39 63 65 31 31 31 9a9005386d9ce111
1760: 32 32 34 35 66 34 38 65 65 34 37 30 64 33 39 36 2245f48ee470d396
1770: 63 31 65 64 36 33 62 39 32 36 37 30 63 61 35 36 c1ed63b92670ca56
1780: 65 63 38 34 64 65 65 61 38 31 34 62 36 31 33 35 ec84deea814b6135
1790: 65 63 61 35 34 33 39 32 62 64 65 64 62 39 34 38 eca54392bdedb948
17a0: 39 62 63 39 62 38 37 35 61 38 62 61 66 30 64 63 9bc9b875a8baf0dc
17b0: 31 61 65 37 38 35 37 33 36 39 31 34 61 62 37 64 1ae785736914ab7d
17c0: 61 61 32 36 34 62 63 30 37 39 64 32 36 39 66 32 aa264bc079d269f2
17d0: 63 30 64 37 65 64 64 64 38 31 30 61 34 32 36 31 c0d7eddd810a4261
17e0: 34 35 61 30 37 37 36 66 36 37 63 38 37 38 32 37 45a0776f67c87827
17f0: 33 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 3]} \..-body {tl
1800: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 s::digest -diges
1810: 74 20 53 48 41 32 32 34 20 2d 64 61 74 61 20 24 t SHA224 -data $
1820: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 data} \..-match
1830: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 30 62 exact -result 0b
1840: 33 31 38 39 34 65 63 38 39 33 37 61 64 39 62 39 31894ec8937ad9b9
1850: 31 62 64 66 62 63 62 61 32 39 34 64 39 61 64 65 1bdfbcba294d9ade
1860: 66 61 61 31 38 65 30 39 33 30 35 65 39 66 32 30 faa18e09305e9f20
1870: 64 35 63 33 61 34 0a 0a 23 20 43 6c 65 61 6e 75 d5c3a4..# Cleanu
1880: 70 0a 3a 3a 74 63 6c 74 65 73 74 3a 3a 63 6c 65 p.::tcltest::cle
1890: 61 6e 75 70 54 65 73 74 73 0a 72 65 74 75 72 6e anupTests.return
18a0: 0a .