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

食譜無法運作?註解不清楚或過時?

開啟一個 issue貢獻此食譜