文件哈希校验
下载安装包、磁盘镜像或固件时,发布方通常会在链接旁附上校验和——即所发布字节的指纹。本工具在本地重新计算这个指纹:浏览器用 Web Crypto API(crypto.subtle.digest)以 SHA-1、SHA-256、SHA-384 或 SHA-512 对拖入的文件做哈希,再与你粘贴的哈希比对,比对时忽略大小写和空白字符。文件绝不会离开你的设备——没有上传,也没有服务器参与。 绿色的匹配证明的是完整性而非真实性:它说明字节与发布方公布的完全一致,能排除下载中断、镜像损坏和被调包的文件,但无法证明公布校验和的页面本身没被篡改——那需要密码学签名来保证。请尽量使用 SHA-256 或更强的算法(保留 SHA-1 只是因为仍有项目在发布它)。哈希前会把整个文件读入内存,因此数 GB 的大文件需要等待片刻。
比对时忽略空白和大小写 — 可直接从 .sha256 文件粘贴。
使用方法
- 选择发布方公布的算法(SHA-256 最常见)。之后更换算法会清空已加载的文件,需要重新拖入以重新计算。
- 粘贴预期哈希——只粘贴十六进制哈希本身,不要粘贴 .sha256 文件中"哈希 文件名"整行。
- 拖入下载好的文件,或点击选择。哈希在本地计算,随后显示文件名、大小和计算出的哈希。
- 查看结果:绿色徽章表示两者一致,红色表示字节不同。若未填预期哈希,也会显示计算出的哈希,供你手动比对。
常见问题
- 为什么要校验下载的文件?
- 哈希不一致能揪出下载中断、镜像损坏,以及被入侵的镜像或代理调包的文件。但要注意:这验证的是完整性而非来源。如果攻击者连公布校验和的页面也控制了,两者都可以被替换;要验证来源还需要项目密钥做出的签名(GPG、Sigstore 等)。
- 文件会被上传到任何地方吗?
- 不会。浏览器读取文件后用 Web Crypto API 在本地计算哈希,不向任何服务器发送数据。为了计算哈希会把整个文件载入内存,所以数 GB 的文件较慢,在内存小的设备上可能吃力。
- 该选哪个算法?为什么没有 MD5?
- 永远选发布方公布的那个——SHA-256 的摘要不可能与 SHA-512 的一致。如今事实上的标准是 SHA-256。SHA-1 已存在现实的碰撞攻击,不应用于安全判断,但检测意外损坏仍然够用。没有 MD5 是因为浏览器的 Web Crypto API 有意不实现它。
- 可以把 .sha256 文件里的整行粘进来吗?
- 只粘贴十六进制摘要即可。比对时会忽略空格、换行和大小写,但 sha256sum 输出的"哈希 文件名"格式里的文件名属于多余字符,会导致比对失败。
- 哈希不匹配该怎么办?
- 先重新下载——传输中断是最常见的原因。再确认算法是否一致、校验和是否对应你下载的版本和架构。如果仍不匹配,不要运行该文件;改从官方渠道重新获取并向项目反馈。
相关工具
文件哈希 (校验和)
计算任意文件的 SHA-1、SHA-256 和 SHA-512 校验和。
哈希生成器 (SHA)
根据文本生成 SHA-1、SHA-256、SHA-384 和 SHA-512 哈希。
Bcrypt 哈希 / 校验
以可调 cost 生成 bcrypt 哈希,或校验已有哈希与密码是否匹配——全部在浏览器中完成。
CSP 哈希生成器
计算让 Content-Security-Policy 把内联 <script> 或 <style> 加入白名单所需的 sha256 / sha384 / sha512 base64 哈希。
Bencode / .torrent 检查器
拖入任意 bencode 文件(.torrent 或原始 bencode),检视其树结构、Info 哈希(SHA-1)、Tracker、文件列表、分片大小与创建元数据 ─ 全部在浏览器本地解析。
STL 3D 模型检查器(三角形、体积、包围盒、打印床适配)
拖入 .stl 文件(二进制或 ASCII),立即获得三角形数量、包围盒、X×Y×Z 尺寸、体积、表面积、水密性检测、三视图正交预览,以及是否能放进常见 3D 打印机床面(Bambu、Prusa、Voron、Ender)。