文件哈希

计算文件的 SHA-1/256/512 校验值。

拖拽文件到此处,或

什么是文件哈希?

文件哈希工具用于计算一个本地文件的哈希值(也叫摘要、校验值),支持 SHA-1、SHA-256、SHA-512 等常见算法。哈希算法会把任意大小的文件内容压缩成一段固定长度的十六进制字符串,文件内容哪怕只改动一个字节,算出来的哈希值也会完全不同;反过来,只要两个文件的哈希值一致,就可以认为这两个文件内容是完全相同的(哈希碰撞的概率极低,SHA-256/512 在实际工程中被认为是安全的)。

为什么使用文件哈希?

最常见的用途是文件完整性校验:从官网或镜像站下载软件安装包、系统镜像(如 Linux ISO)后,官方通常会公布一个 SHA-256 值,下载完成后自己算一遍哈希值和官方公布的对比,一致就说明文件没有被篡改或下载过程中损坏;开发中也会用文件哈希做去重、构建缓存判断(内容没变就跳过重新编译)、以及简单的数字取证场景(证明某文件在某个时间点的内容没有被改动过)。 本工具完全基于浏览器内置的 Web Crypto API 在本地计算,文件不会被上传到任何服务器,处理速度和文件大小、算法强度、设备性能相关,一般文档、安装包级别(几百 MB 以内)都能流畅处理;但超大文件(几个 GB 以上)在浏览器里逐字节读取和哈希计算会占用较多内存和时间,可能比命令行工具慢。

使用示例

校验下载的安装包

从官网下载一个 200MB 的安装包,官网页面标注 SHA-256 值,把下载好的文件拖进工具计算 SHA-256,对比结果字符串是否完全一致(哪怕最后一位不同也代表文件有问题)。

判断两份文档是否内容一致

分别对两个文件名不同的 Word 文档计算 SHA-256,如果两个哈希值完全相同,说明这两份文件内容字节级一致(哪怕文件名、创建时间不同)。

选择哈希算法

对同一个空文本文件分别计算,SHA-1 输出 40 位十六进制字符,SHA-256 输出 64 位十六进制字符,位数越长的算法碰撞概率越低。

使用提示

核对哈希值时建议用程序做字符串比较(复制粘贴到对比工具或直接搜索页面查找),而不是靠肉眼一位一位数,64 位的 SHA-256 字符串很容易看漏中间某一位的差异。

常见问题

大文件会卡顿或上传吗?
不会上传,文件全程留在本地;计算使用浏览器内置 crypto.subtle.digest 一次性读取文件字节做哈希,超大文件(几百 MB 以上)计算耗时会变长,请耐心等待。
文件哈希有什么用?
常用于校验文件完整性(下载后比对官方公布的哈希值)或判断两个文件内容是否完全一致。
数据会上传服务器吗?
不会。文件读取与哈希计算全部通过浏览器 Web Crypto API 在本地完成。
文件会上传到服务器吗?
不会,计算过程调用浏览器原生的 Web Crypto API(SubtleCrypto),文件内容只在本地内存中读取和处理,全程不联网上传,适合处理包含隐私内容的文件。
SHA-1、SHA-256、SHA-512 该选哪个?
SHA-1 已被证明存在碰撞攻击风险,不建议用于安全敏感场景,但历史遗留的校验值很多仍是 SHA-1;新场景优先用 SHA-256 或 SHA-512,安全性更高、目前没有已知的实际碰撞攻击方法,官方软件发布也大多提供 SHA-256。
能处理多大的文件?
理论上没有硬性大小限制,实际受限于浏览器可用内存和计算时间,几百 MB 到 1-2GB 级别的文件通常能正常处理,超大文件(几 GB 以上)可能耗时较长或导致浏览器标签页卡顿,这种情况建议用系统自带的命令行工具(如 macOS/Linux 的 shasum、Windows 的 certutil -hashfile)。
为什么两次计算同一文件结果不一样?
正常情况下同一文件、同一算法计算结果应该完全一致;如果不一样,通常是文件内容确实发生了变化(比如重新下载后文件损坏、或选错了对比的文件),也可能是误选了不同的哈希算法导致长度和内容都不同。

相关工具

← 返回工具箱· 数据均在浏览器本地处理,不上传服务器。