请输入文本或选择文件
哈希是用来做什么的
哈希会把任意输入转成固定长度的指纹。相同的输入永远得到相同的哈希值,而只要改动其中一个字节,整个结果就会完全不同。这让哈希非常适合用来确认文件完整无损地送达,却不适合用来存储密码。
如何选择算法
| 算法 | 长度 | 状态 | 适用于 |
|---|---|---|---|
| MD5 | 128 bits / 32 hex | Broken since 2004 | Checking a download against a published checksum |
| SHA-1 | 160 bits / 40 hex | Broken since 2017 | Legacy Git object IDs only |
| SHA-256 | 256 bits / 64 hex | Secure | The default choice for integrity and signatures |
| SHA-384 | 384 bits / 96 hex | Secure | TLS certificates, subresource integrity |
| SHA-512 | 512 bits / 128 hex | Secure | Faster than SHA-256 on 64-bit hardware |
校验下载的文件
项目通常会在下载链接旁公布校验和。把收到的文件计算哈希后比对即可。本工具接受 sha256sum 的输出格式,所以连同文件名整行粘贴也没问题。
- 下载文件,以及它公布的校验和
- 把文件拖到上方,并选择对应的算法
- 把公布的校验和粘贴到比对框中
- 显示绿色匹配,说明两者字节完全一致
不要用这些算法来哈希密码
MD5、SHA-1 甚至 SHA-256 都是为速度而设计的,而这对密码来说恰恰是最糟糕的特性 — 攻击者每秒可以尝试数十亿次。密码存储需要刻意设计得很慢的算法,例如 bcrypt、scrypt 或 Argon2,并为每个用户加上独立的盐值。
哈希在哪里计算
一切都在你的浏览器中运行。文本通过 Web Crypto API 计算哈希,文件在本地读取,而 MD5 则用 JavaScript 计算,因为 Web Crypto 有意不提供 MD5。你的输入不会离开这个页面。