文件哈希 (校验和)
拖入任意文件,即可并行计算出它的 SHA-1、SHA-256 和 SHA-512 摘要(小写十六进制),底层使用浏览器内置的 Web Crypto API(crypto.subtle.digest)。这些是与命令行工具相同的标准算法,因此结果与 Linux 的 sha256sum、macOS 的 shasum -a 256、Windows 的 Get-FileHash 完全一致。文件只在你设备的内存中读取,绝不会上传——页面加载后即使离线也能计算哈希。 最典型的用途是校验下载:ISO、安装包和固件的发布方会在文件旁公布校验和,如果你在本地算出的摘要与之相符,就说明字节完好无损、未被改动。哈希只针对内容,所以重命名文件不会改变哈希值,而哪怕只翻转一个比特也会得到完全不同的摘要(雪崩效应)。需要注意:SHA-1 是为了兼容旧的已发布校验和而保留的,但针对它的真实碰撞攻击已被演示——请只把它当作损坏检查,安全场景请依赖 SHA-256 或 SHA-512。
将文件拖放到此处
或点击选择使用方法
- 将文件拖到拖放区,或点击它打开文件选择器。
- 稍等片刻,三个摘要会同时计算——大文件可能需要几秒钟。
- 用复制按钮复制你需要的哈希。
- 与同一算法的官方校验和比对;十六进制不区分大小写,但每个字符都必须一致。
- 点击清空以重置并计算另一个文件。
常见问题
- 我的文件会被上传到哪里吗?
- 不会。文件在本地读取并用浏览器内置的 Web Crypto API 计算哈希,任何字节都不会离开你的设备;页面加载后即使离线也能计算。
- 为什么没有 MD5 选项?
- MD5 多年前就已被密码学攻破,因此 Web Crypto API 刻意不提供它。如果某个网站只公布 MD5 校验和,请只把它当作意外损坏的检查,绝不要当作文件未被篡改的证明。
- SHA-1 还安全吗?
- 用于检测意外损坏没问题;用于安全场景则不行:实用的碰撞攻击(如 2017 年的 SHAttered)意味着攻击者可以构造两个 SHA-1 值相同的不同文件。当发布方提供多种校验和时,请校验 SHA-256 或 SHA-512。
- 最大能哈希多大的文件?
- 哈希前会把整个文件读入内存,因此上限是设备的可用内存。几百 MB 以内通常没问题;几 GB 的文件(尤其在手机上)更适合用 sha256sum 之类的命令行工具。
- 哈希与公布的值不一致,该怎么办?
- 先确认比较的是同一算法且是完整字符串(十六进制不分大小写)。如果仍不一致,说明文件字节与原版不同——可能是下载不完整、版本不同或被篡改。请在打开或安装前重新下载并再次校验。
相关主题指南
相关工具
文件哈希校验
拖入文件并粘贴预期的 SHA-1/256/384/512 — 检查实际哈希是否匹配。安装下载的二进制前很有用。
哈希生成器 (SHA)
根据文本生成 SHA-1、SHA-256、SHA-384 和 SHA-512 哈希。
HMAC 生成器(SHA-1 / 256 / 384 / 512)
用 Web Crypto 计算 HMAC 签名——签名 webhook 负载、验证 API 请求,输出 hex 或 base64。
Bcrypt 哈希 / 校验
以可调 cost 生成 bcrypt 哈希,或校验已有哈希与密码是否匹配——全部在浏览器中完成。
CSP 哈希生成器
计算让 Content-Security-Policy 把内联 <script> 或 <style> 加入白名单所需的 sha256 / sha384 / sha512 base64 哈希。
Bencode / .torrent 检查器
拖入任意 bencode 文件(.torrent 或原始 bencode),检视其树结构、Info 哈希(SHA-1)、Tracker、文件列表、分片大小与创建元数据 ─ 全部在浏览器本地解析。