如何用哈希验证文件完整性
当您下载软件、固件或重要文档时,如何知道文件恰好是发布者所期望的?文件哈希为您提供加密指纹 · 一串独特字符串,只要文件的一个字节不同就会改变。
文件哈希如何工作
哈希函数读取文件的每个字节并生成固定长度的字符串。相同文件总是产生相同哈希。修改一个字节,哈希就完全改变。
示例:
- 原始文件哈希:
e3b0c44298fc1c14... - 同一文件,改变一个字节:
d7a8fbb307d7809c...
这使验证变得简单:生成哈希,与发布的哈希对比,立即就能知道文件是否真实。
如何验证文件
- 找到官方哈希· 软件发布者通常在下载页面上列出哈希(常标注为「SHA-256 checksum」或「MD5 sum」)。
- 上传您下载的文件· 在哈希计算器中选择它。哈希在您的浏览器中本地计算。
- 对比哈希· 如果您计算的哈希与官方哈希完全匹配,文件是真实且未损坏的。
何时验证文件哈希
- 软件下载· 验证安装程序和更新在下载过程中未被篡改或损坏
- 固件更新· 损坏的固件可能「砖化」设备。刷写前始终验证
- ISO 镜像· 操作系统镜像在刻录到 U 盘或安装前应被验证
- 法律和财务文档· 验证重要文档在签名或分享后未被修改
- 备份验证· 确认备份文件与原始文件相同
支持的算法
| 算法 | 长度 | 推荐 |
|---|---|---|
| MD5 | 32 字符 | 仅用于旧系统 · 不安全 |
| SHA-1 | 40 字符 | 仅用于旧系统 · 不安全 |
| SHA-256 | 64 字符 | 推荐的标准 |
| SHA-384 | 96 字符 | 高安全性 |
| SHA-512 | 128 字符 | 最高安全性 |
小贴士
- 使用相同算法· 如果发布者提供 SHA-256,请从您的文件生成 SHA-256。不同算法对同一文件会产生完全不同的哈希。
- 复制粘贴对比· 不要试图用肉眼对比长字符串。将两个哈希粘贴到对比工具中,或在另一个中查找一个。
- 大文件也没问题· 由于哈希在您的浏览器中运行,没有大小限制或上传。唯一的限制是您设备的速度。
- 安装前哈希· 养成在运行关键下载前验证的习惯。这只需几秒钟,可避免安装被入侵的软件。
常见问题
如何将文件哈希与官方的对比?
生成哈希后,与源(通常在下载页面)发布的哈希逐字符对比。如果所有字符都匹配,文件真实且未损坏。只要有一个差异都意味着文件被修改。
应使用哪种哈希算法?
SHA-256 是文件验证的标准。使用发布者提供的算法。如果您可以选择,SHA-256 在安全性和性能之间提供了良好平衡。
损坏的文件可能有正确的哈希吗?
理论上可能(碰撞),但在 SHA-256 下统计上可以忽略。几率如此微小,实际上相同的哈希保证文件相同。
我的文件会发送到服务器吗?
不会。哈希完全在您的浏览器中计算。您的文件从不离开您的设备,对任何类型的文档(包括敏感文档)都是安全的。