文件哈希校验

在浏览器内计算文件的 SHA-256、SHA-1 和 MD5 哈希值,并与预期值比对。完全不会上传。

计算文件哈希

选择一个文件。文件在你的设备上读取,不会被上传。

在浏览器里查看文件的哈希值

这个工具会读取你选择或拖放的文件,计算它的 SHA-256、SHA-1 和 MD5 校验值。三种哈希会同时算出并显示,不需要提前选择算法。

最常见的用途是校验下载文件:发布页面公布了哈希值,你想确认自己下载的文件是否逐字节一致,而不是单纯相信下载过程本身。把公布的哈希值粘贴到比对框中,工具会告诉你是否一致。

为什么你的文件不会离开设备

这里的隐私来自结构,而不是承诺。没有“上传”这一步,是因为根本没有可供上传的服务器:

  • 文件的读取和哈希计算全部在你的浏览器内完成(使用 Web Crypto API 和一个小型开源 MD5 实现)。
  • 页面以静态文件的形式分发,不会发出携带你数据的请求。
  • 源代码公开,任何人都可以查看(MIT)。
  • 可以离线使用——既然数据不离开设备,离线自然也能用。

想自己确认的话,在计算哈希值时打开浏览器的网络(Network)面板——没有任何请求携带文件内容。 查看源代码。

使用方法

  1. 选择文件

    点击选择文件,或把文件拖到页面任意位置。文件在本地读取。

  2. 查看哈希值

    SHA-256、SHA-1 和 MD5 会一并算出并显示,每个都带有复制按钮。

  3. (可选)与预期哈希值比对

    把公布的哈希值粘贴到比对框中。工具会根据字符长度自动判断是 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,第一次访问后会被缓存,没有网络也能打开,还可以添加到主屏幕。