HMAC 產生

範例
—演算法
—輸出位數
—金鑰位元組
—耗時

HMAC 產生器

這是 HMAC 產生器:用金鑰和雜湊混出標籤,同時證明完整性與真實性。 HMAC(RFC 2104)把金鑰和雜湊混在一起,標籤同時證明完整性與真實性。識別碼 HMAC、HMAC-SHA256、SHA-1、SHA-384、SHA-512、MD5、SHA-3、JWT、HS256、UTF-8、Hex、Base64、Web Crypto 不翻譯。顯示範例使用訊息 The quick brown fox jumps over the lazy dog、金鑰 key。HMAC-SHA256 hex 是 f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8;Base64 是 97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=。同一對的 HMAC-SHA1 是 de7c9b85b8b78aa6bc8a7a36f70a90701c9db4d9。晶片 message / secret-key 的 HMAC-SHA256 是 287a3bd8a4fc7731a94c722079055323644d8798bd291bf9878abc9b8fd4b1d0。

如何使用

  1. 貼上訊息或拖入檔案(最大 10 MB),再填金鑰。空金鑰會被拒絕。
  2. 金鑰編碼:UTF-8 文字、Hex 或 Base64。訊息的字元編碼與 Base64 工具相同。
  3. 演算法可選 MD5、SHA-1、SHA-224、SHA-256(預設)、SHA-384、SHA-512 或 SHA-3。兩欄始終给出 Hex 與 Base64。
  4. 核對接受 hex 或 Base64。卡片顯示演算法、輸出位數、金鑰位元組和耗時。
  5. 資料不上傳。SHA-384 / SHA-512 需要 https 或 localhost。

演算法與長度

HMAC-SHA256(256 位)是 API、webhook、JWT HS256 的常見選擇。HMAC-SHA1(160 位)仍出現在 TOTP。新專案請用 SHA-256。普通雜湊不是 HMAC。

程式碼(與顯示範例相同)

Node.js:crypto.createHmac('sha256', 'key').update('The quick brown fox jumps over the lazy dog').digest('hex') → f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8。

Python:hmac.new(b'key', b'The quick brown fox jumps over the lazy dog', hashlib.sha256).hexdigest()。

PHP:hash_hmac('sha256', 'The quick brown fox jumps over the lazy dog', 'key')。晶片 message / secret-key → 287a3bd8a4fc7731a94c722079055323644d8798bd291bf9878abc9b8fd4b1d0。

輸出含義

HMAC 不加密。Hex 每位元組 2 個字元(SHA-256 共 64 位 hex)。Base64 是同一組位元組。

常見問題

  • 雜湊和 HMAC 有何不同? 雜湊只檢查完整性。HMAC 還能認證持有金鑰的傳送方。
  • JWT? HS256 是對 JWT header 與 payload 做 HMAC-SHA256。見 JWT 解碼。
  • 和雜湊工具一樣嗎? 雜湊工具允許空金鑰。本頁必須有金鑰,並支援檔案。

相關工具

普通摘要:MD5 與 SHA 雜湊。權杖:JWT 解碼。校驗和:CRC32。

需要不帶金鑰的摘要? 開啟雜湊產生器 →