HMAC生成器

生成結果

HMAC-MD5 -
HMAC-SHA1 -
HMAC-SHA256 -
HMAC-SHA512 -

功能特點

  • 多种算法:支援MD5、SHA1、SHA256、SHA512四种HMAC算法
  • 實時生成:输入文字和密钥後一键生成所有算法結果
  • 自定義密钥:支援自定義密钥,灵活控制消息认证
  • 隐私保护:所有計算在本地完成,不上傳服務器
  • 一键複製:支援單個複製,快速粘贴使用
  • 全平台兼容:支援PC、平板、手機等各类设备

使用教學

1

输入文字

在输入框中输入要生成HMAC的文字內容,可以是任意長度的字元串。

2

输入密钥

在密钥输入框中输入用於生成HMAC的密钥,密钥越長安全性越高。

3

生成並複製

点击"生成HMAC"按钮即可生成四种算法的結果,点击複製按钮可複製單個結果。

應用场景

API接口验证

Web API接口签名验证,防止請求被篡改

消息认证

验证消息完整性和发送方身份

数字签名

生成数据签名,确保数据未被篡改

開發测试

開發者测试HMAC签名验证功能

接口调试

调试需要HMAC签名的接口

學習研究

學習HMAC算法和消息认证知识

HMAC知识科普

什麼是HMAC?

HMAC(Hash-based Message Authentication Code)是一种基於雜湊函数和密钥的消息认证码算法,由H. Krawczyk、M. Bellare和R. Canetti在1996年提出。HMAC可以提供消息完整性验证和身份认证功能,它结合了雜湊函数(如MD5、SHA-1、SHA-256)和一個密钥,既利用了雜湊函数的快速計算特性,又通過密钥保证了安全性。

HMAC和普通雜湊有什麼區别?

普通雜湊(如MD5、SHA)不需要密钥,任何人都可以計算相同的雜湊值,只能验证数据完整性;而HMAC需要密钥,只有拥有正确密钥的人才能生成相同的HMAC值,既可以验证完整性,又可以验证身份。HMAC可以有效防止中间人攻击和偽造消息。

選擇建议:只需要验证完整性用普通雜湊,需要验证身份用HMAC

HMAC的安全性如何?

HMAC的安全性取決於所使用的雜湊函数和密钥強度。即使底層雜湊函数(如MD5)存在碰撞攻击,HMAC仍然是安全的,因為攻击者不知道密钥就無法偽造HMAC。推荐使用HMAC-SHA256或HMAC-SHA512以获得更高的安全性,密钥長度建议至少16位以上。

常見問題

Q:HMAC生成器是免費的嗎?
A:完全免費,無需注冊登录,無使用次数限制,打開網頁即可使用。所有計算都在浏览器本地完成,不上傳服務器,保护您的数据安全。
Q:输入的文字和密钥會被上傳嗎?
A:绝對不會。所有HMAC計算都在您的浏览器本地進行,文字內容和密钥不會上傳到任何服務器,也不會被记录。您可以放心使用。
Q:HMAC-MD5還安全嗎?
A:虽然MD5雜湊函数本身存在碰撞漏洞,但HMAC-MD5仍然是安全的。因為HMAC的安全性依赖於密钥,攻击者不知道密钥就無法偽造HMAC。不過出於安全性考虑,推荐优先使用HMAC-SHA256或HMAC-SHA512。
Q:HMAC密钥設定多長比较合适?
A:建议密钥長度至少與雜湊輸出長度相當,例如HMAC-SHA256建议密钥至少32字节(256位),HMAC-SHA512建议至少64字节(512位)。密钥越長越安全,但也要考虑存储和傳输的便利性。
Q:HMAC和数字签名有什麼區别?
A:HMAC使用對称密钥,发送方和接收方使用同一個密钥,速度快但密钥分发困難;数字签名使用非對称密钥(公私钥對),私钥签名公钥验证,可以抗抵赖但速度较慢。根据實際场景選擇使用。