使用 cryptokit 创建 HMAC 摘要并对消息进行签名和验证
任务
密码学 / 使用 HMAC 摘要对消息进行签名和验证
使用的 Opam 包
- cryptokit 测试版本:1.18 — 使用的库:cryptokit
代码
我们使用 Cryptokit.MAC.hmac_sha256
从给定的密钥创建使用 HMAC-SHA256 的哈希函数,然后将哈希函数应用于消息。
let hmac ~key msg =
let hash = Cryptokit.MAC.hmac_sha256 key in
Cryptokit.hash_string hash msg
对给定的消息进行签名。返回消息及其 MAC 的对。
let sign ~key msg =
(msg, hmac ~key msg)
验证消息的签名。如果签名有效,则返回 true
,否则返回 false
。
let verify ~key (msg, mac) =
hmac ~key msg = mac
let _ =
let key = "supercalifragilisticexpialidocious"
and msg = "Mary Poppins" in
assert (verify ~key (sign ~key msg))