def mic.of
bend-osdev-hashes@0.1.0.0 · check.bend:35
import bend-osdev-hashes@0.1.0.0/check.bend as Check
import Base
import bend-osdev-bytes@0.1.0.0/bytes.bend as B
import bend-osdev-hashes@0.1.0.0/hashes.bend as Hs
import bend-osdev-hashes@0.1.0.0/michael.bend as MI
35def mic.of(r: Result<&2, &2, Hs.HsError, Hs.HsW2>, +m: B.Octets) -> String:
36 match r:
37 case Done{+k}:
38 B.Octets.hex(MI.HsMichael.mic(k, m)) ++ " " ++ B.Octets.hex(MI.HsMichael.final(MI.HsMichael.update(MI.HsMichael.update(MI.HsMichael.update(MI.HsMichael.init(k), p1(m)), p2(m)), p3(m))))
39 case Fail{e}:
40 match e:
41 case Hs.HsBadKeyLength{n}:
42 "bad key length " ++ U32.show(U32.from_nat(n))