> hmac | 認證 | 簽名 <
// 使用密鑰產生HMAC訊息認證碼
[安全]
Web Crypto API
使用瀏覽器原生Web Crypto API安全產生HMAC。您的資料永遠不會離開瀏覽器。
[多演算法]
4種雜湊演算法
支援HMAC-SHA256、HMAC-SHA1、HMAC-SHA384和HMAC-SHA512。選擇適合您需求的演算法。
[免費]
本地處理
100%客戶端處理。無伺服器上傳,無資料收集,完全免費。
// 關於HMAC
HMAC工作原理:
HMAC(基於雜湊的訊息認證碼)在RFC 2104中定義。它將加密雜湊函數與密鑰結合來產生訊息認證碼。演算法使用內部和外部填充(ipad/opad)與密鑰配合。
範例:
HMAC-SHA256("Hello", "secret") → 88aab3ede8d3adf94d26ab90d3bafd4a2083070c3bcce9c014ee04a443847c0b
常見用途:
- >API請求認證和簽名驗證
- >Webhook負載驗證
- >JSON Web Token(JWT)簽名
- >訊息完整性驗證
- >安全會話代幣產生
>> 常見問題
問:HMAC是什麼?
答:HMAC(基於雜湊的訊息認證碼)是一種使用加密雜湊函數與密鑰結合來計算訊息認證碼的機制。
問:HMAC和普通雜湊有什麼區別?
答:普通雜湊(如SHA-256)僅提供資料完整性。HMAC增加了密鑰,因此只有知道密鑰的各方才能產生或驗證代碼。
問:HMAC如何用於API簽名驗證?
答:許多API(AWS、Stripe、GitHub)使用HMAC對請求進行簽名。發送方使用共享密鑰計算請求體的HMAC。
問:應該使用哪種HMAC演算法?
答:HMAC-SHA256是通用用途最推薦的。HMAC-SHA1仍在舊系統中使用。HMAC-SHA384和HMAC-SHA512提供更高的安全性。
問:密鑰應該多長?
答:密鑰至少應與雜湊輸出一樣長(例如HMAC-SHA256為32位元組)。更短的密鑰會降低安全性。