计算文件哈希
选择一个文件。文件在你的设备上读取,不会被上传。
在浏览器里查看文件的哈希值
这个工具会读取你选择或拖放的文件,计算它的 SHA-256、SHA-1 和 MD5 校验值。三种哈希会同时算出并显示,不需要提前选择算法。
最常见的用途是校验下载文件:发布页面公布了哈希值,你想确认自己下载的文件是否逐字节一致,而不是单纯相信下载过程本身。把公布的哈希值粘贴到比对框中,工具会告诉你是否一致。
为什么你的文件不会离开设备
这里的隐私来自结构,而不是承诺。没有“上传”这一步,是因为根本没有可供上传的服务器:
- 文件的读取和哈希计算全部在你的浏览器内完成(使用 Web Crypto API 和一个小型开源 MD5 实现)。
- 页面以静态文件的形式分发,不会发出携带你数据的请求。
- 源代码公开,任何人都可以查看(MIT)。
- 可以离线使用——既然数据不离开设备,离线自然也能用。
想自己确认的话,在计算哈希值时打开浏览器的网络(Network)面板——没有任何请求携带文件内容。 查看源代码。
使用方法
-
选择文件
点击选择文件,或把文件拖到页面任意位置。文件在本地读取。
-
查看哈希值
SHA-256、SHA-1 和 MD5 会一并算出并显示,每个都带有复制按钮。
-
(可选)与预期哈希值比对
把公布的哈希值粘贴到比对框中。工具会根据字符长度自动判断是 MD5 还是 SHA-256,并显示是否一致。
常见问题
我的文件会被上传到某个地方吗?
不会。读取和哈希计算全部在你的浏览器内完成。没有服务器端处理,文件内容没有离开设备的途径。源代码公开,你可以在浏览器的网络(Network)面板里确认这一点。
支持哪些哈希算法?
通过浏览器内置的 Web Crypto API 计算 SHA-256 和 SHA-1,通过一个小型开源 JavaScript 实现计算 MD5(因为 Web Crypto 不支持 MD5)。任何文件都会同时算出并显示这三种哈希值。
“比对”功能怎么用?
把你已有的哈希值(例如来自下载页面)粘贴到比对框中。它的长度会告诉工具这是哪种算法(MD5 为 32 位十六进制,SHA-256 为 64 位),随后与对应的计算结果比对,清楚显示一致或不一致。
能处理大文件吗?
在设备内存允许的范围内可以。因为浏览器的加密接口不支持流式计算,SHA-256 和 SHA-1 需要一次性把整个文件读入内存,所以超过 200MB 的文件会提示可能耗时较长、占用较多内存。MD5 按小块分段计算,不受此限制。
MD5 或 SHA-1 安全吗?
如果只是确认下载文件没有损坏,三种哈希都可以。但如果担心有人蓄意篡改文件,MD5 和 SHA-1 已被认为不够安全,建议使用 SHA-256,或参考发布方推荐的方式。
可以离线使用吗?
可以。它是 PWA,第一次访问后会被缓存,没有网络也能打开,还可以添加到主屏幕。