ref: a94f75ac8f6a6365182191a55fad1e5723411457
dir: /lib/crypto/test/sha1.myr/
use std use crypto const main = { hasheq(crypto.sha1("")[:], \ "da39a3ee5e6b4b0d3255bfef60951890d8af0709") hasheq(crypto.sha1("h")[:], \ "27d5482eebd075de44389774e2fc8c695cf48a75") /* 64 byte block */ hasheq(crypto.sha1("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")[:], \ "0098ba824b5c16427bd7a1125a2a442aec25644d") /* tail spanning */ hasheq(crypto.sha1("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbb")[:], \ "4eb17e52bb55910b037869438f69d9c87643d75a") } const hasheq = {got, expected var sb, str sb = std.mksb() for x : got std.sbfmt(sb, "{p=0,w=2,x}", x) ;; str = std.sbfin(sb) if (!std.eq(str, expected)) std.fatal("mismatched hashes:\n\tgot:\t{}\n\texpected:\t{}\n", str, expected) ;; std.slfree(str) }