如何计算一个文件的 SHA-256 哈希?

输入文本或拖入文件,工具就会返回它的 SHA-1、SHA-256、SHA-384 或 SHA-512 指纹。哈希使用你自己设备上的 Web Crypto API,所以文件不离开你的设备 —— 这正是意义所在:你可以校验一次下载,而不必把它的内容交给某个网站。

完全在浏览器内运行 · 不上传 · 不需要账号 · 无水印

  1. 输入或粘贴文本,或拖入一个文件。
  2. 运行哈希,读取四种摘要。
  3. 复制你需要的那个指纹。

未在下方选择文件时使用。不会发送到任何地方。

选择文件后会替换文本。把它拖到框里,或直接选择。

把文件拖到这里

来源:文本框。

算法摘要(十六进制)复制
值得注意。 之所以包含 SHA-1,是因为现有的校验和仍在使用它,但它已不再具备抗碰撞性。新用途请优先选用 SHA-256。

这个页面能做什么

什么时候该用这个工具

  • 用公布的 SHA-256 校验和核对一次下载。
  • 确认两个文件或两段文本逐字节相同。
  • 不安装任何东西、也不上传文件就得到一个摘要。

什么时候不该用

  • 你在对密码做哈希 —— SHA 家族的摘要是快的,不是密码哈希;请用 Argon2id 或 bcrypt。
  • 你需要 HMAC、数字签名,或 MD5/CRC32/BLAKE3。
  • 你需要鉴别数据来自哪里;哈希只能证明字节一致。

和其他方案比,差在哪

sha256sum 之类的工具能以恒定的内存流式处理任意大的文件;在这里,文件被读进浏览器,所以超大的输入受设备内存限制。只提供 SHA-1/256/384/512,而 SHA-1 已不抗碰撞 —— 用它做日常比对,别用于安全。要验证真实性,请对摘要施加公钥签名,而不是只看摘要本身。

你的文件去了哪里

哪儿也没去。这个页面只加载了干活的代码,之后你打开的文件由你自己的浏览器读取。没有上传步骤,没有临时服务器副本,也没有需要你信任的清理流程——数据从未经过网络,所以事后没有任何东西需要删除。你可以自己确认:在工具运行时打开浏览器的网络面板,看它一直安静。

关于这个工具的问题

该用哪种算法?
新用途请用 SHA-256:它抗碰撞且速度快。SHA-384 和 SHA-512 属于同一家族,在标准或策略要求时给出更长的摘要。提供 SHA-1 只是让你能匹配遗留的校验和 —— 它已不再抗碰撞,绝不应被用来证明一个文件是真实的。
我能对很大的文件计算哈希吗?
可以,上限是你设备的内存,因为浏览器会把整个文件读进一个 ArrayBuffer 再做摘要。几 GB 在电脑上通常没问题;在手机上请控制在几百 MB 以内。文件本身始终不被传输。
为什么没有 MD5?
Web Crypto API 有意不实现 MD5,因为它已被攻破,用于任何安全目的都不安全。与其提供一个在大文件上跑得很慢、还会诱使人依赖它的 JavaScript MD5,本页坚持只提供 SHA 家族。如果你有一段旧的 MD5 校验和要核对,你需要另一个工具。

同组的其他工具

使用指南