Skip to main content

哈希文件校验命令

一、什么是哈希校验

下载的文件为什么需要哈希校验?

确保文件完整,没有被篡改。

理论上不同文件可能产生相同的哈希值,这种情况叫哈希碰撞,这种概率很低。例如SHA-256哈希碰撞,比买彩票连中 10 次一等奖的概率还低。

哈希值不是绝对唯一的,但在现代安全算法下,几乎不可能重复,所以我们把它当作“唯一指纹”来用。

二、常见的哈希算法

算法位数特点速度安全性常见用途
MD5128-bit计算快,广泛支持很快❌ 易碰撞,不安全简单校验、文件下载校验
SHA-256256-bit当前主流、安全✅ 安全可靠软件签名、校验文件完整性
SHA-512512-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是目前主流网站的选择,速度快、安全性强、通用支持度最高