如何计算一个文件的 SHA-256 哈希?
输入文本或拖入文件,工具就会返回它的 SHA-1、SHA-256、SHA-384 或 SHA-512 指纹。哈希使用你自己设备上的 Web Crypto API,所以文件不离开你的设备 —— 这正是意义所在:你可以校验一次下载,而不必把它的内容交给某个网站。
完全在浏览器内运行 · 不上传 · 不需要账号 · 无水印
- 输入或粘贴文本,或拖入一个文件。
- 运行哈希,读取四种摘要。
- 复制你需要的那个指纹。
未在下方选择文件时使用。不会发送到任何地方。
选择文件后会替换文本。把它拖到框里,或直接选择。
把文件拖到这里
来源:文本框。
| 算法 | 摘要(十六进制) | 复制 |
|---|
值得注意。 之所以包含 SHA-1,是因为现有的校验和仍在使用它,但它已不再具备抗碰撞性。新用途请优先选用 SHA-256。
这个页面能做什么
- 对粘贴的文本或整个文件计算哈希
- SHA-1、SHA-256、SHA-384 和 SHA-512
- 以十六进制复制摘要
- 文件不会被上传
什么时候该用这个工具
- 用公布的 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 校验和要核对,你需要另一个工具。
同组的其他工具
使用指南
- How to check a download is genuine with a SHA-256 hashCompare a file’s fingerprint with the published checksum in your browser. The file never leaves your device — which is the point.
- Why these tools never upload your files, and how to checkThe difference between “we delete your file” and “your file was never sent” is the whole argument. Here is how to verify it yourself.