平时在 Linux 下下载镜像文件、安装包、重要文档,官网一般都会给一串 MD5 或 SHA256 字符串,让你核对文件有没有下载损坏、被篡改过。
很多人知道要校验,但不知道具体怎么用 md5sum、sha256sum,也分不清两者区别,今天就用很直白的方式讲清楚,看完以后下载任何文件都能自己验一遍,安全又放心。
先说核心作用:
md5sum、sha256sum 就是用来给文件算一个唯一 “数字指纹”,对比一下指纹一不一样,就能确定文件是不是完整、没被改过。
先看最常用的:md5sum
用法特别简单,直接跟文件名就行:
md5sum ubuntu-26.04.iso
执行完会输出一串 32 位字符,类似这样:
5d6d7bf888c7... ubuntu-26.04.iso
你把这串字符和官网给的 MD5 对比,完全一样就没问题。
如果官网提供了 .md5 文件,可以直接用 -c 自动校验:
md5sum -c ubuntu-26.04.iso.md5
输出 OK 就是通过,FAILED 就是文件有问题。
再来看更安全的 sha256sum
现在官方基本都推荐 SHA256,比 MD5 更安全、更难碰撞。
用法和 md5sum 几乎一模一样:
sha256sum 文件名
比如校验下载的镜像:
sha256sum ubuntu-26.04-desktop-amd64.iso
同样会得到一串长编码,和官网给出的 SHA256 核对即可。
如果有官方校验文件,也可以直接自动校验:
sha256sum -c SHA256SUMS
简单说下区别:
- MD5 快、短,适合日常快速校验,但安全性一般
- SHA256 稍慢一点,但安全性高,重要文件、系统镜像强烈建议用它
几个实用小技巧
- 只输出校验码,不显示文件名
sha256sum file.zip | awk '{print $1}'
- 批量校验目录下所有文件
sha256sum *
- 生成校验文件保存起来,以后对比
sha256sum document.pdf > document.sha256
总结一下:
下载文件后,不确定是否完整、是否被篡改,直接用:
md5sum 文件名
sha256sum 文件名
和官方给的字符串对比一致,就可以放心使用。
重要文件优先用 sha256sum,普通文件快速校验用 md5sum 就够。