md5sum 是 Linux 系统中用于计算和校验文件 MD5 哈希值的命令行工具。MD5(Message-Digest Algorithm 5)是一种广泛使用的密码散列函数,可生成 128 位(16 字节)的哈希值,通常表示为 32 个十六进制数字。

基本用法

md5sum [选项]... [文件]...

常见选项

  1. -b--binary:以二进制模式读取文件
  2. -c--check:从文件中读取 MD5 校验和并进行校验
  3. -t--text:以文本模式读取文件(默认)
  4. --quiet:校验成功时不输出 OK 信息
  5. --status:不输出任何信息,使用退出状态码表示结果
  6. -w--warn:对格式不正确的校验和行发出警告

使用示例

1. 计算单个文件的 MD5 值

md5sum filename.txt

输出格式:哈希值 文件名

2. 计算多个文件的 MD5 值

md5sum file1.txt file2.txt file3.txt

3. 校验文件完整性

首先将 MD5 校验和保存到文件:

md5sum file.txt > checksum.md5

然后使用以下命令校验:

md5sum -c checksum.md5

4. 递归计算目录中所有文件的 MD5

find /path/to/directory -type f -exec md5sum {} + > checksums.md5

实际应用场景

  1. 文件完整性验证:下载文件后验证是否与官方提供的 MD5 一致
  2. 数据一致性检查:比较两个文件的 MD5 来判断内容是否相同
  3. 系统监控:定期检查关键系统文件的 MD5 值以检测未经授权的修改
  4. 备份验证:确保备份文件的完整性

注意事项

  1. MD5 已被证明存在碰撞漏洞,不适用于安全性要求高的场景
  2. 对于大型文件,计算可能需要较长时间
  3. 在脚本中使用时,建议添加 --status 选项以便通过退出码判断结果
  4. 不同操作系统上的 md5sum 实现可能有细微差异

替代方案

对于需要更高安全性的场景,可以考虑使用:

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐