md5sum
是一个用于计算和校验文件的 MD5(Message-Digest Algorithm 5)哈希值的命令行工具。MD5 是一种广泛使用的哈希算法,可以将任意长度的数据转换为一个固定长度(128位)的哈希值,通常以32个十六进制字符表示。
md5sum
的用途
- 校验文件完整性:通过比较文件的 MD5 哈希值,可以快速检查文件在传输或存储过程中是否被篡改或损坏。
- 生成文件的哈希值:用于创建文件的“数字指纹”,常用于软件分发、文件备份等场景。
使用方法
md5sum
是一个命令行工具,通常在 Linux 和类 Unix 系统(如 macOS)中自带。在 Windows 系统中,可以通过安装类似的工具(如 certutil
或第三方工具)来实现类似功能。
1. 计算文件的 MD5 哈希值
md5sum <文件名>
例如:
md5sum example.txt
输出示例:
d41d8cd98f00b204e9800998ecf8427e example.txt
这里的 d41d8cd98f00b204e9800998ecf8427e
就是文件 example.txt
的 MD5 哈希值。
2. 校验文件的 MD5 哈希值
如果有一个文件的 MD5 哈希值列表(通常是通过 md5sum
生成的文件),可以使用以下命令进行校验:
md5sum -c <哈希值文件>
例如,假设有一个名为 checksums.md5
的文件,内容如下:
d41d8cd98f00b204e9800998ecf8427e example.txt
运行以下命令:
md5sum -c checksums.md5
如果文件未被篡改,输出会显示:
example.txt: OK
如果文件被篡改,输出会显示:
example.txt: FAILED
3. 校验多个文件
md5sum
可以同时处理多个文件,并生成一个哈希值列表文件:
md5sum file1.txt file2.txt file3.txt > checksums.md5
然后可以使用 -c
选项校验这些文件:
md5sum -c checksums.md5
在 Windows 系统中的替代工具
Windows 系统中没有自带的 md5sum
命令,但可以通过以下方式实现类似功能:
-
使用
certutil
命令:certutil -hashfile <文件名> MD5
示例:
certutil -hashfile example.txt MD5
输出示例:
MD5 hash of file example.txt: d41d8cd98f00b204e9800998ecf8427e
-
使用第三方工具:例如 HashCheck Shell Extension 或其他支持 MD5 哈希的工具。
注意事项
- MD5 的安全性:虽然 MD5 是一种快速的哈希算法,但它已经被证明存在安全漏洞(如碰撞攻击)。对于安全性要求较高的场景,建议使用更安全的哈希算法,如 SHA-256。
- SHA-256 的替代命令:在 Linux 系统中,可以使用
sha256sum
命令来生成和校验 SHA-256 哈希值。