工作原理
此工具会计算你输入的任意文本的 MD5、SHA-1、SHA-256 和 SHA-512 哈希值,全部在你的浏览器中完成——不会发送到任何地方。哈希是一种单向指纹:相同的输入总是产生相同的输出,但你无法把哈希反推回原始文本。可以用它来验证文件的校验和、在不暴露内容的情况下比较两段文本,或者用已知结果测试你自己的代码。
这个工具不适合做的事:为了存储而给密码计算哈希。MD5 和 SHA-1 在设计上就很快,而这恰恰是存储密码时最不该有的特性——真正的系统会使用刻意设计得很慢的函数,如 bcrypt、scrypt 或 Argon2(参见我们术语表中的密钥拉伸),这样每秒尝试数十亿个密码就变得不可能。
相关术语: 哈希 · 盐(加盐) · 密钥拉伸 · CSPRNG
常见问题
我的文本会被发送到哪里吗?
不会。每个哈希值都在你的浏览器本地计算,SHA-1/256/512 使用 Web Crypto API,MD5 使用本地 JavaScript 实现——你输入的内容永远不会离开你的设备。
为什么 MD5 和 SHA-1 被认为不安全?
两者都存在已知的碰撞攻击——可以构造出两个不同的输入产生相同的哈希值,这使它们不适合用于数字签名或证书。但用于校验和以及没有对抗性的场景(比如验证下载文件是否损坏)仍然没问题。
新项目应该用哪种哈希?
对于通用哈希,SHA-256 是安全的现代默认选择。而专门针对密码存储,应使用专门设计的慢速函数(bcrypt、scrypt、Argon2)——绝不要单独使用像 SHA-256 这样的原始哈希。
我能给文件计算哈希吗,而不仅仅是文本?
用这个工具不行——它只计算你输入或粘贴的文本的哈希。对于文件,操作系统自带的校验和工具(Windows 上的 certutil,macOS/Linux 上的 shasum 或 md5)是标准选择。