什么是校验和(Checksum)?
校验和是通过特定算法对文件或数据计算得出的固定长度「指纹」。只要文件内容有任何一个字节的变化,生成的校验和就会完全不同。因此,校验和被广泛用于验证文件在下载、传输或存储过程中是否发生了损坏或篡改。
常见使用场景:
- 下载系统镜像(ISO 文件)后验证完整性
- 软件发布时提供 SHA-256 哈希供用户核验
- 数据备份的完整性校验
- 检测文件是否被恶意篡改
主要校验算法对比
| 算法 | 输出长度 | 速度 | 安全性 | 典型用途 |
| CRC32 | 8 位十六进制 | 极快 | 非加密级 | 网络传输错误检测、ZIP 文件校验 |
| MD5 | 32 位十六进制 | 快 | 已不推荐用于安全 | 文件完整性校验(非安全场景) |
| SHA-1 | 40 位十六进制 | 较快 | 已不安全 | 遗留系统兼容 |
| SHA-256 | 64 位十六进制 | 中等 | 强 | 软件发布、数字签名、区块链 |
| SHA-512 | 128 位十六进制 | 较慢 | 极强 | 高安全要求场景 |
CRC 与哈希函数的区别
CRC(循环冗余校验)是一种错误检测码,设计目标是快速检测数据传输中的随机错误(如比特翻转),不用于安全目的。
加密哈希函数(MD5、SHA 系列)则具有「雪崩效应」:输入的微小变化会产生完全不同的输出,且理论上不可能从哈希值反推原始数据,因此适合安全场景。
简单说:CRC 适合检测意外错误,SHA-256 适合安全验证。
如何在线计算文件校验和
使用 tool.tl 的校验和计算器:
- 访问 tool.tl/checksum-calculator
- 上传文件或直接粘贴文本内容
- 选择所需算法(MD5 / SHA-256 / SHA-512 / CRC32)
- 即时显示计算结果,可一键复制
所有计算在浏览器本地完成,文件不会上传服务器。
如何用命令行计算校验和
# macOS / Linux
md5 filename.iso # MD5
sha256sum filename.iso # SHA-256
sha512sum filename.iso # SHA-512
# Windows PowerShell
Get-FileHash filename.iso -Algorithm MD5
Get-FileHash filename.iso -Algorithm SHA256
Get-FileHash filename.iso -Algorithm SHA512
# Windows CMD
certutil -hashfile filename.iso MD5
certutil -hashfile filename.iso SHA256
验证文件完整性的实际步骤
- 从官方网站下载文件和对应的哈希值(通常在下载页面标注 SHA-256 或 MD5)
- 用工具计算下载文件的哈希值
- 逐字符对比两个哈希值是否完全一致
- 如有不同,文件可能在传输中损坏或已被篡改,应重新下载
常见问题
MD5 还能用来验证文件吗?
用于验证下载完整性(检测随机损坏)是可以的。但不应用于安全目的——MD5 已被证明存在碰撞漏洞,攻击者可以构造两个不同内容但哈希相同的文件。需要安全验证时,请使用 SHA-256 或更高版本。
两个文件哈希相同一定说明内容相同吗?
对于 SHA-256 和 SHA-512,在实践中可以认为是的。理论上存在「碰撞」(两个不同内容产生相同哈希),但对于强哈希算法,这在计算上是不可行的,概率极低。
工具是免费的吗?
是的,tool.tl 的校验和计算器和 CRC 计算器完全免费,浏览器本地计算,无需注册。