HMAC 消息认证码

在线 HMAC 哈希消息认证码生成器,支持 MD5/SHA1/SHA256/SHA512/SHA3/RIPEMD160,浏览器本地计算不上传。

HMAC 消息认证码

关于 HMAC 消息认证码

HMAC(Hash-based Message Authentication Code)是一种基于密钥的哈希消息认证码,用于同时验证消息的完整性和真实性。与普通哈希不同,HMAC 使用一个密钥作为输入,只有持有相同密钥的人才能产生或验证相同的认证码。

本工具基于 crypto-js 在浏览器本地计算 HMAC-MD5、HMAC-RIPEMD160、HMAC-SHA1、HMAC-SHA224、HMAC-SHA256、HMAC-SHA384、HMAC-SHA3、HMAC-SHA512,支持十六进制、Base64、Base64url 和二进制四种输出编码。所有计算在浏览器本地完成,密钥和文本不会上传。

常见问题

HMAC 和普通哈希有什么区别?

普通哈希(如 SHA256("text"))任何人都可以计算和验证,适合完整性校验但不能证明消息来源。HMAC = H(key || H(key || message)),需要密钥参与,只有持有密钥的人才能生成正确的认证码,因此能同时验证完整性和真实性。

推荐使用哪种 HMAC 算法?

推荐 HMAC-SHA256 或 HMAC-SHA512。HMAC-MD5 和 HMAC-SHA1 在理论上存在安全弱点,新项目不建议使用。HMAC-SHA3 是最新的 SHA-3 标准,安全性高但兼容性相对较窄。

密钥会上传到服务器吗?

不会。HMAC 计算完全在浏览器本地完成,密钥和输入文本仅存在于当前页面内存中,不会上传到任何服务器。

相关工具