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使用对称密钥,发送方和接收方使用同一个密钥,速度快但密钥分发困难;数字签名使用非对称密钥(公私钥对),私钥签名公钥验证,可以抗抵赖但速度较慢。根据实际场景选择使用。