> 文章列表 > 网络文件传输防止篡改-校验工具(md5sum)的使用

网络文件传输防止篡改-校验工具(md5sum)的使用

网络文件传输防止篡改-校验工具(md5sum)的使用

说明

MD5报文摘要算法(Message-Digest Algorithm 5)常常被用来验证网络文件传输的完整性,防止文件被人篡改。此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相同的报文摘要的可能性是非常非常之小的。

md5sum工具通过计算和检查文件的校验和来防止文件被篡改。

安装

正常情况,安装了Linux后,默认就会已经安装好了md5sum工具,我们无需单独安装。

语法

md5sum  [选项]  [参数]

选项

选项 说明
-b 二进制模式读取文件
-t 或 --text 把输入的文件作为文本文件看待
-c 从指定文件中读取MD5校验和,并进行校验
–status 验证成功时不输出任何信息
-w 当校验不正确时给出警告信息

示例

生成校验值

$ md5sum myfile.txt 
f0ef7081e1539ac00ef5b761b4fb01b3  myfile.txt

网络文件传输防止篡改-校验工具(md5sum)的使用

首先生成md5文件

$ md5sum myfile.txt > f0ef7081e1539ac00ef5b761b4fb01b3.md5

网络文件传输防止篡改-校验工具(md5sum)的使用

检查文件是否被修改过

$ md5sum -c f0ef7081e1539ac00ef5b761b4fb01b3.md5

如果文件没有变化,输出应该如下:

myfile.txt: 确定

网络文件传输防止篡改-校验工具(md5sum)的使用

此时,md5sum命令返回0。

如果文件发生了变化,输出应该如下:

# md5sum -c f0ef7081e1539ac00ef5b761b4fb01b3.md5
myfile.txt: 失败
md5sum: 警告:1 个校验和不匹配

网络文件传输防止篡改-校验工具(md5sum)的使用

此时,md5sum命令返回非0。

如果不想有任何输出

md5sum  --status -c f0ef7081e1539ac00ef5b761b4fb01b3.md5

这时候通过返回值来检测结果。