nicetool.dev logo

哈希生成器

使用 Web Crypto 在本地计算,文件不会离开您的设备。

输入文本
哈希值
MD5
-
SHA-1
-
SHA-256
-
SHA-384
-
SHA-512
-

什么是哈希函数?

加密哈希函数将任意输入转换为固定长度的指纹。相同的输入总是得到相同的哈希,而哪怕只改一个字符,结果也会完全不同。哈希常用于校验下载文件、存储密码以及签名 API 请求(HMAC)。

功能

  • • 同时计算 MD5、SHA-1、SHA-256、SHA-384 和 SHA-512
  • • 使用自定义密钥生成 HMAC 签名
  • • 支持文本或最大 200 MB 的文件
  • • Hex 或 Base64 输出,即时校验

数据留在本地

所有计算都通过 Web Crypto API 在浏览器中完成。您的文本、文件和密钥绝不会被上传。

注意:MD5 和 SHA-1 不适合用于密码或签名。

哈希生成器使用方法

  1. 1

    选择 Text 计算字符串的哈希,或选择 File 计算电脑中任意文件(最大 200 MB)的哈希。

  2. 2

    输入或粘贴文本,或拖入文件。MD5、SHA-1、SHA-256、SHA-384 和 SHA-512 会同时计算。

  3. 3

    可选:输入密钥以计算 HMAC 签名而不是普通哈希,并可在十六进制、Base64 和大写之间切换输出。

  4. 4

    要校验下载文件或签名,把期望值粘贴到比较框中,工具会提示哪种算法匹配。

实际应用示例

校验下载文件

Linux ISO、安装包和发布包通常会公布 SHA-256 校验值。计算下载文件的哈希并比对,只要有一个字节不同,结果就完全不同。

Webhook 签名

GitHub、Stripe 和 Shopify 使用 HMAC-SHA256 对 Webhook 正文签名。用你的密钥对原始载荷计算哈希,确认服务器算出的签名一致。

缓存键和 ETag

对文件或 API 响应的内容计算哈希,得到简短稳定、仅在内容变化时才改变的键。

比较文件

SHA-256 相同的两个文件在实际中可以认为完全相同。比较哈希比逐字节比较大文件快得多。

常见问题

哈希可以反向还原吗?+

不能。哈希函数是单向的,无法从结果推算输入。但较短或常见的输入仍可能通过大量尝试被猜出,所以密码需要专门的慢速算法。

MD5 或 SHA-1 还安全吗?+

不适合安全用途,两者都已出现可实际构造的碰撞。用作检测意外损坏的快速校验和仍然可以。涉及安全时请使用 SHA-256 或更强的算法。

可以用 SHA-256 存储密码吗?+

不可以。通用哈希设计得很快,攻击者每秒可尝试数十亿次。请使用故意设计得较慢并加盐的 bcrypt、scrypt 或 Argon2。

哈希和 HMAC 有什么区别?+

哈希只取决于输入。HMAC 还混入了密钥,只有持有密钥的人才能生成或验证,因此用于消息和 Webhook 签名。