| 1 | // These tests are derived from the Secure Hash Algorithm Validation System |
| 2 | // test vectors contained in: |
| 3 | // https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-Algorithm-Validation-Program/documents/shs/shabytetestvectors.zip |
| 4 | // |
| 5 | // For SHA224, the test vectors come from: |
| 6 | // SHA224ShortMsg.rsp |
| 7 | // SHA224LongMsg.rsp |
| 8 | import crypto.sha256 |
| 9 | import encoding.hex |
| 10 | |
| 11 | // This structure deals with both the short message and long message tests |
| 12 | struct SHA224TestCase { |
| 13 | name string |
| 14 | message string |
| 15 | digest string |
| 16 | } |
| 17 | |
| 18 | // short message test cases |
| 19 | const short_cases = [ |
| 20 | SHA224TestCase{ |
| 21 | name: 'test case 0' |
| 22 | message: '' |
| 23 | digest: 'd14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f' |
| 24 | }, |
| 25 | SHA224TestCase{ |
| 26 | name: 'test case 1' |
| 27 | message: '84' |
| 28 | digest: '3cd36921df5d6963e73739cf4d20211e2d8877c19cff087ade9d0e3a' |
| 29 | }, |
| 30 | SHA224TestCase{ |
| 31 | name: 'test case 2' |
| 32 | message: '5c7b' |
| 33 | digest: 'daff9bce685eb831f97fc1225b03c275a6c112e2d6e76f5faf7a36e6' |
| 34 | }, |
| 35 | SHA224TestCase{ |
| 36 | name: 'test case 3' |
| 37 | message: '51ca3d' |
| 38 | digest: '2c8959023515476e38388abb43599a29876b4b33d56adc06032de3a2' |
| 39 | }, |
| 40 | SHA224TestCase{ |
| 41 | name: 'test case 4' |
| 42 | message: '6084347e' |
| 43 | digest: 'ae57c0a6d49739ba338adfa53bdae063e5c09122b77604780a8eeaa3' |
| 44 | }, |
| 45 | SHA224TestCase{ |
| 46 | name: 'test case 5' |
| 47 | message: '493e14623c' |
| 48 | digest: '7f631f295e024e74552083245ca8f988a3fb65680ae97c3040d2e65c' |
| 49 | }, |
| 50 | SHA224TestCase{ |
| 51 | name: 'test case 6' |
| 52 | message: 'd729d8cd1631' |
| 53 | digest: '342e8e6b23c1c6a54910631f098e08e836259c57e49c1b1d023d166d' |
| 54 | }, |
| 55 | SHA224TestCase{ |
| 56 | name: 'test case 7' |
| 57 | message: 'cbf2061e10faa5' |
| 58 | digest: '3aa702b1b66dc57d7aec3ccdbdfbd88592d7520f843ba5d0fa481168' |
| 59 | }, |
| 60 | SHA224TestCase{ |
| 61 | name: 'test case 8' |
| 62 | message: '5f77b3664823c33e' |
| 63 | digest: 'bdf21ff325f754157ccf417f4855360a72e8fd117d28c8fe7da3ea38' |
| 64 | }, |
| 65 | SHA224TestCase{ |
| 66 | name: 'test case 9' |
| 67 | message: '10713b894de4a734c0' |
| 68 | digest: '03842600c86f5cd60c3a2147a067cb962a05303c3488b05cb45327bd' |
| 69 | }, |
| 70 | SHA224TestCase{ |
| 71 | name: 'test case 10' |
| 72 | message: '006470d57dad9893dc03' |
| 73 | digest: 'c90026cda5ad24115059c62ae9add57793ade445d4742273288bbce7' |
| 74 | }, |
| 75 | SHA224TestCase{ |
| 76 | name: 'test case 11' |
| 77 | message: '6f29ca274190400720bba2' |
| 78 | digest: 'ac53157947aa4b2a19089182382a4363d182dd8e4ca79cd8571390be' |
| 79 | }, |
| 80 | SHA224TestCase{ |
| 81 | name: 'test case 12' |
| 82 | message: '17e8556176fcca2addbdde29' |
| 83 | digest: 'cc6ad0488db0222066f740557b5758a19b30372b302332295d8c3aff' |
| 84 | }, |
| 85 | SHA224TestCase{ |
| 86 | name: 'test case 13' |
| 87 | message: 'dbf163601db9a122a4026824de' |
| 88 | digest: '9849845f4e47e1ece9a1c1e01a0d896ffea61c6c8894a75a11ce5f49' |
| 89 | }, |
| 90 | SHA224TestCase{ |
| 91 | name: 'test case 14' |
| 92 | message: '5e1ef2ad86ceaf5439fe87d2ec9b' |
| 93 | digest: '223c5d5d4a0116b32cea044f9af0fe44babea1c5ab201502591bcd5f' |
| 94 | }, |
| 95 | SHA224TestCase{ |
| 96 | name: 'test case 15' |
| 97 | message: '65f3b9866fb8002b53cfaf806f702f' |
| 98 | digest: 'b1e0806a218d593821fde8e9eacc44ab5287c32209a94f011ab66b75' |
| 99 | }, |
| 100 | SHA224TestCase{ |
| 101 | name: 'test case 16' |
| 102 | message: 'b776708ffb91b3515ac46598ab9fa796' |
| 103 | digest: '427311b1d7ab2488791c4deeb4251d783fe5f9806bfdfb5188c5443d' |
| 104 | }, |
| 105 | SHA224TestCase{ |
| 106 | name: 'test case 17' |
| 107 | message: 'a4bc10b1a62c96d459fbaf3a5aa3face73' |
| 108 | digest: 'd7e6634723ac25cb1879bdb1508da05313530419013fe255967a39e1' |
| 109 | }, |
| 110 | SHA224TestCase{ |
| 111 | name: 'test case 18' |
| 112 | message: '9e8f3c6645c1749b55c50d2018ce40dc2427' |
| 113 | digest: '2f5a583bf588c8988a572d128a95bea5ef1b66780a7d4be9c29efc31' |
| 114 | }, |
| 115 | SHA224TestCase{ |
| 116 | name: 'test case 19' |
| 117 | message: '2db6d207c0b7d9117f24d78ee59abf2f316978' |
| 118 | digest: '35681fce28307cae19522c23cbd4a77969347f7d8ee4a3088ba90ada' |
| 119 | }, |
| 120 | SHA224TestCase{ |
| 121 | name: 'test case 20' |
| 122 | message: '3df5e7f399f6dd61a12a9d4e9464fc4997c1f37b' |
| 123 | digest: 'a3e68076e30751085a843a6cbfbf0f3dee63d9c4219c914372e50b28' |
| 124 | }, |
| 125 | SHA224TestCase{ |
| 126 | name: 'test case 21' |
| 127 | message: '65781d018f27ca0c72a9fa9ab4648ed369646dd3ce' |
| 128 | digest: 'd15ef0d872d02da6427b8d0349dea2f204e67133b7365b4b150efc3c' |
| 129 | }, |
| 130 | SHA224TestCase{ |
| 131 | name: 'test case 22' |
| 132 | message: 'af48eeddd93fee69d1bd7de428a63986011d10945eaf' |
| 133 | digest: 'b89d428ee42e397cf11029ecbb27baddd036c8938f51c8ab56b875ac' |
| 134 | }, |
| 135 | SHA224TestCase{ |
| 136 | name: 'test case 23' |
| 137 | message: 'df2bf0d5f9c994ac69d78baa0d512eceb74d8a047531c1' |
| 138 | digest: 'db8e1ce68c8c6b84d6db755c2b8bf54f3c4b081a881efcddaf303294' |
| 139 | }, |
| 140 | SHA224TestCase{ |
| 141 | name: 'test case 24' |
| 142 | message: '48d2f20955ea2d13433c20bc0404eb2e6ad79ed28f7cb4c0' |
| 143 | digest: '3617cc3179f8b59adce181eebeed5e2763f62650949224a67e53694b' |
| 144 | }, |
| 145 | SHA224TestCase{ |
| 146 | name: 'test case 25' |
| 147 | message: '218f74a42d3a47ef3b806601fba024b078cbff4e4b85772e0e' |
| 148 | digest: 'b5f40b95dcc363b97e9d00b67c5d7c37f17ab563297d2d67a4df20c9' |
| 149 | }, |
| 150 | SHA224TestCase{ |
| 151 | name: 'test case 26' |
| 152 | message: 'ef55b1e797000b04fcdb9b3021b09327e3b4e269d20cabdf418f' |
| 153 | digest: '827b223d51240c2e3271c534c19c5637b6fe10083e85bcf06761ef21' |
| 154 | }, |
| 155 | SHA224TestCase{ |
| 156 | name: 'test case 27' |
| 157 | message: '96df4387dc2c40297043bea36483f65e4eb1e07e93359cb7e68610' |
| 158 | digest: '98e430a63fcdedafc9419010f7f59a4d816a45b4f973beb62530ff8c' |
| 159 | }, |
| 160 | SHA224TestCase{ |
| 161 | name: 'test case 28' |
| 162 | message: '3ec0aa8d30d5ed825b77dc7095f421b1e608158797a377ff8bed641b' |
| 163 | digest: '3108321eb7ff857f6aae69101b937f32a51ea279a6c14ba5232ac8c1' |
| 164 | }, |
| 165 | SHA224TestCase{ |
| 166 | name: 'test case 29' |
| 167 | message: '8b0239712039f077ce323b35f4e306787b9b35270096e57735cff45d84' |
| 168 | digest: 'a5c740d3ce46bb2e0a048488f2b0605c6d0ca0ea2f382d043d13db97' |
| 169 | }, |
| 170 | SHA224TestCase{ |
| 171 | name: 'test case 30' |
| 172 | message: '044be30167a9758c46c727921dc4eb4e0dcb965623423e6fdd44e7a4ea52' |
| 173 | digest: '6eb78313c743ea8769d8340f284dda6ded64a1db64392f21abb82c5c' |
| 174 | }, |
| 175 | SHA224TestCase{ |
| 176 | name: 'test case 31' |
| 177 | message: '57f6118bacce47ecc31ce8b0c083d3c9219e0dbe9e4fbea154537c41231acc' |
| 178 | digest: '0dbb53c866d63af44c222c76c825df0e379dcedfb958db03b6fd29a5' |
| 179 | }, |
| 180 | SHA224TestCase{ |
| 181 | name: 'test case 32' |
| 182 | message: 'fe1f0fb02c9011f4c8c5905934ed15136771737ce31c5859e67f235fe594f5f6' |
| 183 | digest: 'bbeaacc632c2a3db2a9b47f157ab54aa27776c6e74cf0bcaa91b06d5' |
| 184 | }, |
| 185 | SHA224TestCase{ |
| 186 | name: 'test case 33' |
| 187 | message: '14fb01ae9d6015ecb3e56d6ecdfa4bc0533186adf8457f5e4a5c57c687895f3db3' |
| 188 | digest: '178272c7d7cc71b15074c27e3b7997d4a3ba99626986a1a16cf30030' |
| 189 | }, |
| 190 | SHA224TestCase{ |
| 191 | name: 'test case 34' |
| 192 | message: 'ff6c49712f044f4063c14125c0cdfba18ed8b7138453768a45dfa2d82a05f1e84227' |
| 193 | digest: '403284c888a7280bc8bfc25f0c34182cd378306a21a1404d4e1c40cf' |
| 194 | }, |
| 195 | SHA224TestCase{ |
| 196 | name: 'test case 35' |
| 197 | message: 'f900bd7e0117247f97c8fc7a665c76a35f571c3366571d6c4a3ee5d7fb93f1d1f726e2' |
| 198 | digest: '48235b9820d66d8885faabf6a9ede63ba2a21b6177e987a33242373e' |
| 199 | }, |
| 200 | SHA224TestCase{ |
| 201 | name: 'test case 36' |
| 202 | message: '42d38188ac49440cfefb77db975e083e6b22348c4c67f0f8692e88ad140d861dc828d595' |
| 203 | digest: '615344f890e5bcf71b5efe39de1fc942ba1fe30dd9e9146adb6a41bf' |
| 204 | }, |
| 205 | SHA224TestCase{ |
| 206 | name: 'test case 37' |
| 207 | message: '74fdd7d958b8ae7c2c3c5cff4266dfb2b3b842c9f59ecbbcaff575edcbcda08ccd6e08b764' |
| 208 | digest: '66d7d6c54fc7775a0ba845ba3e11719fa535b9289f20b098c5f7a342' |
| 209 | }, |
| 210 | SHA224TestCase{ |
| 211 | name: 'test case 38' |
| 212 | message: '934416dd0581e22f2bfbece7bb64afe820451fa21342df7e6f9fb37c4103381a1f7cd379bcc4' |
| 213 | digest: 'fae8f1aa22def4dbaa814c5b0babdec43394951792c937050d2963a6' |
| 214 | }, |
| 215 | SHA224TestCase{ |
| 216 | name: 'test case 39' |
| 217 | message: '102401c84a716ae72579c6ae79c359ea309ffd95abffae4c61884c03c9e99df77b6c92e492cacb' |
| 218 | digest: '8f34812d57a16ef8a51ad987660c5f8623e0fa9d89846e28d46d14d9' |
| 219 | }, |
| 220 | SHA224TestCase{ |
| 221 | name: 'test case 40' |
| 222 | message: '79bc8fb60f85d15a2386566e3e7314df284533085add1c7bb6ead3ff760c86d5633a66404761b544' |
| 223 | digest: '65c54014cfa30f0bc27d1c6efa96ae8481f4c2505bff272956eab0df' |
| 224 | }, |
| 225 | SHA224TestCase{ |
| 226 | name: 'test case 41' |
| 227 | message: 'db3121ea71294983b185207a9d8de3e484a66c0431bf07c962eb82977c4f834b7c3f1e7931a4a7f7a9' |
| 228 | digest: '9316d2f021c2913d63a7e66924c87c161c3cfde0ea7ba07f54772862' |
| 229 | }, |
| 230 | SHA224TestCase{ |
| 231 | name: 'test case 42' |
| 232 | message: '0dd51aa660c5cb4b7f78c46852c1db8707ab451c1367b6187388c8bb3873a1aa4210d0414cc6792a29a7' |
| 233 | digest: '31989e7a62a5132a5070d77250d8904bb82d457dc63469d06b50185e' |
| 234 | }, |
| 235 | SHA224TestCase{ |
| 236 | name: 'test case 43' |
| 237 | message: '487fd2e5b694b7071d3789a258a51e8604dc0d3e8f5d62f39131968e602abe1ddf6b0278962a512408b553' |
| 238 | digest: 'e798683438284626d710877d9eea3a0e02f349fc43acb7f9f8f9e81c' |
| 239 | }, |
| 240 | SHA224TestCase{ |
| 241 | name: 'test case 44' |
| 242 | message: '11183bdebfef58e4da5b1cb73be0d30b20da304d8659d921da2e270fd14626799537e4d12119e809ee97004a' |
| 243 | digest: '96870657d6cb668be3995aa8bd31df77840d1d1915d72482e83b6b2c' |
| 244 | }, |
| 245 | SHA224TestCase{ |
| 246 | name: 'test case 45' |
| 247 | message: 'a239de5c8e2644e8f030d94d98f1a30664e6fd961dc2977a9c08be5c31d8de89450945a53d79299ea2a1edde7f' |
| 248 | digest: 'e99743d4fd26c8800c36a67b6762247c29da6b62794123c59de06dc0' |
| 249 | }, |
| 250 | SHA224TestCase{ |
| 251 | name: 'test case 46' |
| 252 | message: '917c4577aa6b0f9df49999fc1c958cb09b7fd5fc80be949670f03545eb27dcaed052076b24f96f5e0f2e2f4527c0' |
| 253 | digest: '7ecd693d4d9cf43929464698efa0bac33c2e1424f816edc769260978' |
| 254 | }, |
| 255 | SHA224TestCase{ |
| 256 | name: 'test case 47' |
| 257 | message: 'c3f1e735a6741aa481ad577a98dbac1f03cc80ea0dae1b94db2369ed4e93facd29c64e4e77b25038279120bdfa3715' |
| 258 | digest: '86f0d89d8e14fd8b6606412d71a7a54a347b304ea5d49c208f2266ab' |
| 259 | }, |
| 260 | SHA224TestCase{ |
| 261 | name: 'test case 48' |
| 262 | message: 'de4fbfd553cdf37019f25afa82dc6b9970f4bb1ebbc37f80d3084c88a70722cdc523a9e3c2afbad0dc0221bfdec9a2f9' |
| 263 | digest: '4c5262acb4a2a44eaa9bc6757024fb202ef4d5a7a16fa37252a422b5' |
| 264 | }, |
| 265 | SHA224TestCase{ |
| 266 | name: 'test case 49' |
| 267 | message: 'db2e2eb636610cf42e9b33433acce1b3b925949f297dd83199f45d2861d64cd910c2db74a60b2089045e22cba0a536137d' |
| 268 | digest: '16bf4e45bcdc60447c68dcb30e6b08f55ce9f4124a29cf1f9a9d065d' |
| 269 | }, |
| 270 | SHA224TestCase{ |
| 271 | name: 'test case 50' |
| 272 | message: 'a8e729d336d5d6ac50e1e22f0b193b66e26042fc6459214129875e740ab2b142918c138aaf941863ad3b7e6065450613b273' |
| 273 | digest: '452bf2e5ebfc4e451cc434bc09e2a10032eed0b7627cf55e7e5ed0e2' |
| 274 | }, |
| 275 | SHA224TestCase{ |
| 276 | name: 'test case 51' |
| 277 | message: 'd05317d4b535f9d10f739d0c2dedf3ffb090c1ad9d205089b1346693f58273c4925c0face57ba45ad6fc687c66a88fc78878be' |
| 278 | digest: '4f03c439e097b51b00e314f675937c4d911505859fb7ab16adc65e44' |
| 279 | }, |
| 280 | SHA224TestCase{ |
| 281 | name: 'test case 52' |
| 282 | message: '26bb4ed4f0424c60fe4212ff8c955e89e2f553a7d7701be59416d2089af59fa1074724e214e919b1e30f33fb78374b4b055bbc9b' |
| 283 | digest: 'e7c899e27009d4dc77c2d300f191b757e52c9e7eac4b023bfab2b52a' |
| 284 | }, |
| 285 | SHA224TestCase{ |
| 286 | name: 'test case 53' |
| 287 | message: 'f015ec83944f03292463c4345fdb1c26d1ea07645facbc9520ae244b6eb191e53dabadb4ac0fb15cda4ed77dfb9e1193abfafb1b81' |
| 288 | digest: '459e40b3fbd612912f0217c60099379ce077cd02505871b0c9c14e7a' |
| 289 | }, |
| 290 | SHA224TestCase{ |
| 291 | name: 'test case 54' |
| 292 | message: '0786706f680c27b792d054faa63f499a8e6b5ddb90502946235bf74c022d772c809cb4171bfa4791539aca1abd91900e53ba93ca0efd' |
| 293 | digest: 'fadebab7c3d0fb8e97e429b79083087735e4ab385a789521260ef3ad' |
| 294 | }, |
| 295 | SHA224TestCase{ |
| 296 | name: 'test case 55' |
| 297 | message: '445e8698eeb8accbaac4ffa7d934fffd16014a430ef70f3a9174c6cfe96d1e3f6ab1377f4a7212dbb30146dd17d9f470c4dffc45b8e871' |
| 298 | digest: '4c7ae028c0fe61f2a9cada61fae30685b77f04c6442576e912af9fa6' |
| 299 | }, |
| 300 | SHA224TestCase{ |
| 301 | name: 'test case 56' |
| 302 | message: '52839f2f0853a30df14ec897a1914c685c1ac21470d00654c8c37663bfb65fa732dbb694d9dd09ced723b48d8f545846ba168988b61cc724' |
| 303 | digest: '2f755a57674b49d5c25cb37348f35b6fd2de2552c749f2645ba63d20' |
| 304 | }, |
| 305 | SHA224TestCase{ |
| 306 | name: 'test case 57' |
| 307 | message: '5fe8c2072d8900287ccaf07f3f66b0c22acd3e0bb91d9573754e19e373ac35271d8b43443436ac0c162850ef3d7f281409ad29a9bf716c77d1' |
| 308 | digest: '42909757f6e229f69f04cc7a863c4e70e48c7c3575057b455c959775' |
| 309 | }, |
| 310 | SHA224TestCase{ |
| 311 | name: 'test case 58' |
| 312 | message: 'e8064d83f3d643af8718c87e3ccd6a9733685eac61d572a22ab943f232fcb04f70858e8984449db14a76bb7eaf2458efc3ed2a32100622c52b7f' |
| 313 | digest: '1a1d8ed54cb45c97bc970754b43eb93d9eabde4c7b07f76ad82d8ede' |
| 314 | }, |
| 315 | SHA224TestCase{ |
| 316 | name: 'test case 59' |
| 317 | message: '87c9a517e28d1bb54ad20fca76460efd894d7786e68ee8d746b2f68208682157c8ad06cc324ad7a3189e09c6c39d4c768719c0a49a41669f2767d5' |
| 318 | digest: '605977cf87b9b309bbddaaa64e528ace66b04df9f72c0e7ec88be1da' |
| 319 | }, |
| 320 | SHA224TestCase{ |
| 321 | name: 'test case 60' |
| 322 | message: '59fdac3b6b32039291801c7d6f46ede8d26dc5b7a192e007116739b617569f2523680b3c0b6631af453e55805aa760c6970833ac06963bbc9dbd455e' |
| 323 | digest: 'e9f0cb1dc8337e906385892f2348a8ba4412318ecad9b96e3711531f' |
| 324 | }, |
| 325 | SHA224TestCase{ |
| 326 | name: 'test case 61' |
| 327 | message: '30350a4df0b58ff49c0fa09e426fcd7007b290c760c825c1855d9b0023b82caa51e3cab4c60cfa61492be50568e5ac0f6db0fd468e39e4536403e3809f' |
| 328 | digest: '776cc6636c02408fbf65ace73ae80017108b917c16c5a912fd860241' |
| 329 | }, |
| 330 | SHA224TestCase{ |
| 331 | name: 'test case 62' |
| 332 | message: 'ef797a0d43c30b4fe1014bdb9420879c2ff845d27e73d55a7df22930c8ece73253d8bb265b4ef2ff9c69455cc56ff25229b4126bb7bb26ee2c9ff36187b1' |
| 333 | digest: 'f5b9ffb102affac352a4a535a00f89b06c268cf4881d712668906025' |
| 334 | }, |
| 335 | SHA224TestCase{ |
| 336 | name: 'test case 63' |
| 337 | message: '716944de41710c29b659be10480bb25a351a39e577ee30e8f422d57cf62ad95bda39b6e70c61426e33fd84aca84cc7912d5eee45dc34076a5d2323a15c7964' |
| 338 | digest: '61645ac748db567ac862796b8d06a47afebfa2e1783d5c5f3bcd81e2' |
| 339 | }, |
| 340 | SHA224TestCase{ |
| 341 | name: 'test case 64' |
| 342 | message: 'a3310ba064be2e14ad32276e18cd0310c933a6e650c3c754d0243c6c61207865b4b65248f66a08edf6e0832689a9dc3a2e5d2095eeea50bd862bac88c8bd318d' |
| 343 | digest: 'b2a5586d9cbf0baa999157b4af06d88ae08d7c9faab4bc1a96829d65' |
| 344 | }, |
| 345 | ] |
| 346 | |
| 347 | // long message test cases |
| 348 | const long_cases = [ |
| 349 | SHA224TestCase{ |
| 350 | name: 'test case 163' |
| 351 | message: 'f149e41d848f59276cfddd743bafa9a90e1ee4a263a118142b33e3702176ef0a59f8237a1cb51b42f3ded6b202d9af0997898fdd03cf60bda951c514547a0850cec25444ae2f24cb711bfbafcc3956c941d3de69f155e3f8b10f06db5f37359b772ddd43e1035a0a0d3db33242d5843033833b0dd43b870c6bf60e8deab55f317cc3273f5e3ba747f0cb65050cb7228796210d9254873643008d45f29cfd6c5b060c9a' |
| 352 | digest: '9db6dc3a23abd7b6c3d72c38f4843c7de48a71d0ba91a86b18393e5f' |
| 353 | }, |
| 354 | SHA224TestCase{ |
| 355 | name: 'test case 262' |
| 356 | message: 'c39147fad02c6ed5876eb3257837c3f456008694fac94932aa521bae9c8e77abb65524e298595abbdc5b261e9c9f0f86359dfa584bf94b740eb54d09bba6d4ad652421adf50605a170ce4a4478204e831679f1d4b61db1c9735114e595cb47ae58670403f01bb8b0c92de64013a3c6137efc33b0421dc45b638e38eb33e617d61884968e8f80bb1071e1c3b97611c15cf78e8793f8e1c95265d480c29ce08d4c2ce59ff3dc1e56e8f053a958a75085890897b625de520bd6028bb512d89ff1391cf0e7dddfdbd160ccea5fc5b04a5ac03a7f890fff56d10dc01b9f85f00d8bc4710f35f29fa073a28f0dafa798e58a2913aec5f960d662222aed06c1eb11a216b2a952da2456' |
| 357 | digest: '2b05b170d4976409f23ce885a0a2c0a943226688d4f5bbaf35fabb46' |
| 358 | }, |
| 359 | ] |
| 360 | |
| 361 | fn test_short_messages() { |
| 362 | for c in short_cases { |
| 363 | message := hex.decode(c.message)! |
| 364 | expected_result := hex.decode(c.digest)! |
| 365 | |
| 366 | actual_result := sha256.sum224(message) |
| 367 | |
| 368 | assert actual_result == expected_result, 'failed ${c.name}' |
| 369 | } |
| 370 | } |
| 371 | |
| 372 | fn test_long_messages() { |
| 373 | for c in long_cases { |
| 374 | message := hex.decode(c.message)! |
| 375 | expected_result := hex.decode(c.digest)! |
| 376 | |
| 377 | actual_result := sha256.sum224(message) |
| 378 | |
| 379 | assert actual_result == expected_result, 'failed ${c.name}' |
| 380 | } |
| 381 | } |
| 382 | |