md5sum / sha256sum 命令详解
更新时间:2026-08-28。本文是「一个命令一个文档」系列,属于文本处理命令族(见文本处理命令族)。下载的文件没被篡改?算个哈希对一下。
md5sum / sha256sum 计算文件的哈希(校验和)。下载大文件、传输后,用官方给的哈希值对一下,确认文件完整、未被篡改。
一、基本用法
bash
md5sum file.iso # 输出 32 位十六进制哈希 + 文件名
sha256sum file.iso # 输出 64 位哈希(更抗碰撞)
sha256sum是md5sum的升级:哈希更长、抗碰撞更强。新项目/安全场景一律用 sha256,md5 已不推荐用于安全校验(存在构造碰撞的可能)。
二、校验清单:-c
bash
sha256sum *.iso > checksums.sha256 # 生成清单
sha256sum -c checksums.sha256 # -c 逐一校验,OK/FAILED
-c(check)读取"哈希 文件名"格式的清单,逐文件核对并输出OK或FAILED。发布软件时常附.sha256文件,下载后用-c一键验证全部。
三、实战:下载后验证
bash
wget https://example.com/app.tar.gz
sha256sum app.tar.gz # 与官网公布的哈希比对这是标准动作:官网贴出 sha256,你本地算一个比对,一致才放心解压安装。不一致可能下载损坏或被中间人替换。
四、md5 的局限
bash
# md5 已被证明可人为构造碰撞(两个不同文件同 hash)
# 仅适合"防意外损坏",不适合"防恶意篡改"注意:md5 只能防"传输误码",挡不住"故意伪造"。要防篡改用 sha256(乃至 sha512)。校验安全敏感文件别用 md5。
相关命令
一句话总结
md5sum/sha256sum = 文件哈希校验:下载/传输后用官方哈希对一下确认完整未被篡改;-c 读清单批量校验(OK/FAILED);优先 sha256(更长抗碰撞),md5 仅防意外损坏、不能防恶意伪造(已能构造碰撞)。安全敏感文件别用 md5。