哈希计算与校验工具

输入文本或拖入文件,点击「计算」即可得到一张五种算法的结果表:十六进制与 Base64 并排显示,每行都能单独复制,即使你手上只有其中一种写法的校验值也能直接比对。

在浏览器本地运行 开发者工具

待计算的文本
待计算的文件

尚未选择文件。

或把文件拖到这个框里

为你的输入计算出的摘要,每种算法一行
算法 十六进制 Base64 复制
MD5 — —
SHA-1 — —
SHA-256 — —
SHA-384 — —
SHA-512 — —

MD5 是历史遗留的校验和,已被证明存在碰撞。请不要用它保存密码,也不要用它对抗攻击者做完整性校验。

使用方法

  1. 先选来源:保持「文本」并输入内容——停止输入约四分之一秒后五行结果会自动重算;或切换到「文件」选择要计算的文件,也可以直接把文件拖到右侧方框中。
  2. 想要立刻得到结果就点击「计算」。表格会列出五行摘要,状态行同时告诉你本次输入共多少字节——校验值对不上时,先看这个字节数。
  3. 按你手头的写法比对:多数公开的校验值用十六进制,SRI 或二进制场景常用 Base64。确认无误后点击该行的「复制」取出结果。
  4. 需要重来时点击「清空」,或切换来源。「文本 / 文件」的选择会被记住,下次打开仍然保持。

常见问题

应该选哪种算法?

如果是你自己新做一次校验,用 SHA-256:它是目前的默认选择,兼容性最好,摘要长度也适合写进配置文件。SHA-384 和 SHA-512 强度更高但很少必要,输出更长。MD5 与 SHA-1 都已被证明存在碰撞攻击,只适合用来核对别人已经公布出来的旧校验值,不要用来在对抗环境下证明文件未被篡改,更不要用来保存密码。保存密码必须使用刻意做慢、带盐的函数,例如 Argon2id、scrypt、bcrypt 或 PBKDF2;SHA-256 的设计目标是尽可能快,在这里恰恰是最坏的性质。

为什么提示 SHA 系列不可用?

SHA 系列来自浏览器的 Web Crypto 接口,而该接口只在安全来源下开放,也就是 https:// 或 localhost。若页面走的是普通 http:// 地址,浏览器会直接关闭它,此时页面仍会给出 MD5(这一行由页面内自带的实现计算,不依赖该接口),并明确告知其余摘要不可用。改用 https:// 打开本页面,或开发时在 localhost 上访问,五行摘要就会全部填充。

我的文件会被上传吗?

不会。文件由浏览器读入内存并在本页完成摘要,页面不会把你的内容发起任何网络请求——页面加载后断网再算一次即可验证。需要权衡的是内存而非隐私:超过约 25 MB 的文件会一次性读入,所以工具会先给出提示,需要你再次点击「计算」确认。超大体积的压缩包在浏览器标签页里可能很慢甚至失败,这类场景更适合使用命令行工具。

指南

相关工具