HMAC 生成器
使用您的密钥生成 HMAC 签名(SHA256、SHA512、MD5 等)。所有计算均在浏览器本地完成,不会将任何数据发送到服务器。
算法
HMAC 结果
输入消息和密钥以生成 HMAC
Note: 对于安全关键应用,建议使用 HMAC-SHA256 或 HMAC-SHA512。
Related Tools
关于 HMAC
工作原理
HMAC 将密钥与哈希函数结合以生成消息认证码。它确保消息来自知道该密钥的一方,并且消息未被篡改。
该工具在您的浏览器中本地计算 HMAC。
常见使用场景
- 在双方共享密钥的情况下签署 API 请求
- 验证系统之间的消息完整性
- 为 Webhook 创建简单的消息身份验证
Frequently Asked Questions
什么是 HMAC?何时应该使用它?
HMAC(基于哈希的消息认证码)是一种使用密钥和哈希函数验证消息完整性和真实性的机制。当双方共享一个密钥并需要确保消息未被篡改时使用它。
支持哪些 HMAC 算法?
该工具支持常见算法,包括 HMAC-SHA256、HMAC-SHA1、HMAC-SHA512、HMAC-SHA384、HMAC-SHA224 和 HMAC-MD5。为获得最佳安全性,请选择 HMAC-SHA256 或 HMAC-SHA512。
生成 HMAC 时我的数据会发送到服务器吗?
不会。所有 HMAC 计算都在您的浏览器中本地执行。输入文本和密钥不会传输到任何服务器。
我可以使用此工具验证在其他地方生成的 HMAC 吗?
可以。粘贴消息和密钥,选择相同的算法,将生成的 HMAC 与提供的值进行比较。使用复制功能快速传输值。
有哪些输出格式?
该工具以十六进制字符串显示 HMAC 输出。您可以复制该值,使用相关工具(如 Base64 编码器/解码器)将其转换为其他格式。
某些算法是否不安全?
MD5 被认为较弱,不应用于安全关键应用。建议使用 HMAC-SHA256 或 HMAC-SHA512 以获得更强的安全性。
我可以使用 Unicode 或二进制数据作为输入或密钥吗?
可以。该工具接受任意文本,在计算 HMAC 之前内部将字符串编码为 UTF-8。对于二进制密钥或数据,请先将其编码为文本形式(如 Base64)再进行计算。
该工具是否支持 Web Crypto 以获得更好的性能?
在可用的情况下,浏览器 Web Crypto API 用于 HMAC-SHA 算法以获得更好的性能和安全性。当 Web Crypto 不可用或算法不受支持时,使用后备库。
我可以将其用于密码存储吗?
不可以。HMAC 不是密码哈希函数。密码存储请使用 bcrypt、Argon2 或 scrypt,这些算法故意设计得较慢并包含盐值。
如果生成的 HMAC 与预期值不匹配,我该怎么办?
请仔细检查密钥和算法。确保没有多余的空白字符,并且双方使用相同的文本编码(UTF-8)。如果仍然不匹配,请验证输入规范化(换行符)。