SHA 哈希与 HMAC 生成器
免费在线生成 SHA-1、SHA-256、SHA-384、SHA-512 哈希和 HMAC 签名。无需注册,完全在浏览器中运行。
什么是哈希函数和 HMAC?
加密哈希函数接收任意输入并生成固定大小的摘要(指纹),实际上无法逆向还原。例如 SHA-256 无论输入多大,始终输出 256 位(64 个十六进制字符)的值。HMAC(基于哈希的消息认证码)将哈希函数与密钥结合,生成带密钥的摘要,同时证明数据完整性和真实性。HMAC 广泛用于 API 认证、JWT 签名、Webhook 验证和安全消息传递。Web Crypto API 原生支持 SHA-1、SHA-256、SHA-384 和 SHA-512 的普通哈希和 HMAC 运算。
如何使用这个免费的哈希与 HMAC 生成器
- 根据需要选择'哈希'或'HMAC'标签页。
- 选择哈希算法(SHA-1、SHA-256、SHA-384 或 SHA-512)。
- 在输入框中输入或粘贴要哈希的文本。
- 如果使用 HMAC,在密钥输入框中输入密钥。
- 输出会立即显示——可切换大写格式,点击复制按钮即可复制。
哈希和 HMAC 的常见应用场景
- 文件完整性验证 — 比较 SHA-256 校验和,验证下载的文件在传输过程中未被篡改或损坏。
- API Webhook 签名验证 — GitHub、Stripe、Slack 等服务使用 HMAC-SHA256 签名 Webhook 载荷,以便验证发送者的真实性。
- 密码哈希预检查 — 快速计算字符串的 SHA 哈希以了解输出格式,然后再实现服务端密码存储(实际密码请务必使用 bcrypt/scrypt)。
- 数字签名和令牌验证 — JWT 令牌和 OAuth 流程依赖 HMAC-SHA256 签名载荷,确保令牌未被篡改。
FAQ
SHA-256 哈希和加密是一回事吗?
不是。哈希是单向函数——无法从哈希值恢复原始输入。加密是双向的,需要密钥来解密。哈希用于完整性检查,而非保护传输中的机密数据。
为什么没有包含 MD5?
MD5 已被密码学破解,容易受到碰撞攻击。Web Crypto API 设计上不支持 MD5。对于任何安全敏感的场景,建议使用 SHA-256 或更高级的算法。
哈希和 HMAC 有什么区别?
普通哈希仅以消息为输入,而 HMAC 还需要一个密钥。HMAC 不仅能证明数据未被篡改,还能证明它是由知道密钥的人创建的。
我的数据会发送到服务器吗?
不会。所有哈希和 HMAC 计算都在浏览器中使用 Web Crypto API 本地完成,没有任何数据离开您的设备。