使用 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))

配方不起作用?注释不清楚或已过时?

提交问题为该配方做出贡献