哈希文件校验命令
一、什么是哈希校验
下载的文件为什么需要哈希校验?
确保文件完整,没有被篡改。
理论上不同文件可能产生相同的哈希值,这种情况叫哈希碰撞,这种概率很低。例如SHA-256哈希碰撞,比买彩票连中 10 次一等奖的概率还低。
哈希值不是绝对唯一的,但在现代安全算法下,几乎不可能重复,所以我们把它当作“唯一指纹”来用。
二、常见的哈希算法
| 算法 | 位数 | 特点 | 速度 | 安全性 | 常见用途 |
|---|---|---|---|---|---|
| MD5 | 128-bit | 计算快,广泛支持 | 很快 | ❌ 易碰撞,不安全 | 简单校验、文件下载校验 |
| SHA-256 | 256-bit | 当前主流、安全 | 快 | ✅ 安全可靠 | 软件签名、校验文件完整性 |
| SHA-512 | 512-bit | 更长更安全,计算较慢 | 慢 | ✅ 高安全性 | 安全级别高的系统 |
| BLAKE2 / BLAKE3 | 可变 | 新一代高性能哈希算法 | 超快 | ✅ 安全高效 | 文件校验、密码存储、新系统应用 |
三、文件哈希值计算
Windows系统
windows系统自带了certutil工具,可以用于哈希计算
- md5
# certutil -hashfile 测试文件 md5
certutil -hashfile zh-cn_windows_11_business_editions_version_25h2_x64_dvd_22759158.iso md5
- sha-256
# certutil -hashfile 测试文件 sha256
certutil -hashfile zh-cn_windows_11_business_editions_version_25h2_x64_dvd_22759158.iso sha256
- sha-512
# certutil -hashfile 测试文件 sha512
certutil -hashfile zh-cn_windows_11_business_editions_version_25h2_x64_dvd_22759158.iso sha512
- BLAKE3
windows系统没有内置命令,需要下载BLAKE3工具
官方开源项目地址:https://github.com/BLAKE3-team/BLAKE3/releases
# b3sum_windows_x64_bin.exe 测试文件
b3sum_windows_x64_bin.exe zh-cn_windows_11_business_editions_version_25h2_x64_dvd_22759158.iso
Linux系统
Linux一般内置常见的哈希计算工具
- md5计算
# md5sum 测试文件
md5sum zh-cn_windows_11_business_editions_version_25h2_x64_dvd_22759158.iso
- sha256
# sha256sum 测试文件
sha256sum zh-cn_windows_11_business_editions_version_25h2_x64_dvd_22759158.iso
- sha512
# sha512sum 测试文件
sha512sum zh-cn_windows_11_business_editions_version_25h2_x64_dvd_22759158.iso
- BLAKE3
Linux没有内置BLAKE3工具,需要安装
apt install b3sum
# b3sum 测试文件
b3sum zh-cn_windows_11_business_editions_version_25h2_x64_dvd_22759158.iso
四、总结
sha256是目前主流网站的选择,速度快、安全性强、通用支持度最高