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