说明
MD5报文摘要算法(Message-Digest Algorithm 5)常常被用来验证网络文件传输的完整性,防止文件被人篡改。此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相同的报文摘要的可能性是非常非常之小的。
md5sum工具通过计算和检查文件的校验和来防止文件被篡改。
安装
正常情况,安装了Linux后,默认就会已经安装好了md5sum工具,我们无需单独安装。
语法
md5sum [选项] [参数]
选项
选项 | 说明 |
---|---|
-b | 二进制模式读取文件 |
-t 或 --text | 把输入的文件作为文本文件看待 |
-c | 从指定文件中读取MD5校验和,并进行校验 |
–status | 验证成功时不输出任何信息 |
-w | 当校验不正确时给出警告信息 |
示例
生成校验值
$ md5sum myfile.txt
f0ef7081e1539ac00ef5b761b4fb01b3 myfile.txt
首先生成md5文件
$ md5sum myfile.txt > f0ef7081e1539ac00ef5b761b4fb01b3.md5
检查文件是否被修改过
$ md5sum -c f0ef7081e1539ac00ef5b761b4fb01b3.md5
如果文件没有变化,输出应该如下:
myfile.txt: 确定
此时,md5sum命令返回0。
如果文件发生了变化,输出应该如下:
# md5sum -c f0ef7081e1539ac00ef5b761b4fb01b3.md5
myfile.txt: 失败
md5sum: 警告:1 个校验和不匹配
此时,md5sum命令返回非0。
如果不想有任何输出
md5sum --status -c f0ef7081e1539ac00ef5b761b4fb01b3.md5
这时候通过返回值来检测结果。