文件校验和计算器对上传的文件计算 MD5、SHA-1、SHA-256、SHA-384 或 SHA-512 哈希值,用于验证下载文件是否完整、传输过程中是否发生损坏或被篡改。所有计算在浏览器本地完成,文件内容不上传至服务器。
五种算法的实际差异
| 算法 | 哈希长度 | 输出字符数 | 适用场景 |
|---|---|---|---|
| MD5 | 128 位 | 32 | 快速完整性校验,不适合安全场景 |
| SHA-1 | 160 位 | 40 | 旧版 Git 提交 ID、遗留系统兼容 |
| SHA-256 | 256 位 | 64 | 下载验证、数字签名、区块链,推荐首选 |
| SHA-384 | 384 位 | 96 | 高安全需求、TLS 证书签名 |
| SHA-512 | 512 位 | 128 | 最高安全等级,大文件完整性存档 |
MD5 实现使用 crypto-es 库(纯 JS),其余算法通过浏览器原生 Web Crypto API(crypto.subtle.digest)计算,速度与安全性均更优。
何时用哪个算法
从软件官网下载 ISO 或安装包后,网站通常会注明所用算法,按相同算法计算后对比字符串即可。多数现代发行版(Ubuntu、Debian 等)已从 MD5 切换到 SHA-256 或 SHA-512,优先用 SHA-256 进行日常下载验证。
典型使用流程
- 从发布页面找到官方提供的校验和字符串(通常是 .sha256 或 .md5 文件中的一行)
- 将下载的文件拖放到上传区域
- 选择与官方一致的算法
- 将工具输出的哈希值与官方字符串逐字符对比
哈希值对大小写不敏感,a3f2... 和 A3F2... 代表相同的结果。若两者完全一致,文件未被篡改且传输完整;若有任意一个字符不同,文件需要重新下载。
大文件注意事项
浏览器内存受限,超大文件(10 GB 以上)可能导致标签页崩溃。处理数 GB 级别文件时,建议关闭其他占用内存的标签页,或改用命令行工具:
# macOS / Linux
shasum -a 256 filename.iso
md5sum filename.iso
# Windows PowerShell
Get-FileHash filename.iso -Algorithm SHA256