def hmac_sha256_pieces
bend-osdev-crypto@0.1.0.0 · check.bend:304
import bend-osdev-crypto@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-crypto@0.1.0.0/hmac.bend as Hm
import bend-osdev-crypto@0.1.0.0/inst_sha2.bend as SH
304
305def hmac_sha256_pieces(+k: B.Octets, +a: B.Octets, +b: B.Octets) -> String:
306 +kk = Hm.CrHmac.key(~64n, ~SH.CrSha2.sha256, k)
307 +t = Hm.CrHmac.finish(~SH.CrSha2State, ~SH.CrSha2.init256(), ~SH.CrSha2.update, ~SH.CrSha2.final, Hm.CrHmac.update(~SH.CrSha2State, ~SH.CrSha2.update, Hm.CrHmac.update(~SH.CrSha2State, ~SH.CrSha2.update, Hm.CrHmac.start(~SH.CrSha2State, ~SH.CrSha2.init256(), ~SH.CrSha2.update, kk), a), b))
308 cat(B.Octets.hex(t), cat(" ", yes_no(Hm.CrHmac.verify(~SH.CrSha2.sha256, kk, B.Octets.append(a, b), t))))