linux下md5sum 校验文件完整性

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

1、简介

  MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。MD5 全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相同的报文摘要的可能性是非常非常之小的。 
在linux或Unix上,md5sum是用来计算和校验文件报文摘要的工具程序。一般来说,安装了Linux后,就会有md5sum这个工具,直接在命令行终端直接运行。 

2、命令格式

  md5sum [OPTION]... [FILE]... 

3、命令选项

-b 或 --binary :把输入文件作为二进制文件看待。 
-t 或 --text :把输入的文件作为文本文件看待(默认)。 
-c 或 --check :用来从文件中读取md5信息检查文件的一致性。(不细说了参见info) 
--status :这个选项和check一起使用,在check的时候,不输出,而是根据返回值表示检查结果。 
-w 或 --warn :在check的时候,检查输入的md5信息又没有非法的行,如果有则输出相应信息。

4、例子

(1)生产一个文件的md5值,如下所示:

[root@test patch]# md5sum p182  > cc.txt

这样,就生产了文件p182的md5校验文件cc.txt,打开cc.txt可以看到如下内容:

[root@test patch]# cat cc.txt 
dd05e55e3aca2d39e49a1a7d1b3fd404  p182

(2)检查两个文件是否一样,可以通过比较两个文件的md5值

[root@test patch]# md5sum p182 > ee.txt
[root@test patch]# cat ee.txt 
0f0b000b096ac947d6067466cc60ffd0  p182

[root@test patch]# md5sum p183 > ff.txt
[root@test patch]# cat ff.txt 
dd05e55e3aca2d39e49a1a7d1b3fd404  p183

(3)判断一个文件是否修改,通过md5来判断

[root@test patch]# md5sum p182 > cc.txt
[root@test patch]# cat cc.txt 
0f0b000b096ac947d6067466cc60ffd0  p182


修改下p182文件:

[root@test patch]# vi p182 

跟原来的md5结果进行对比:
[root@test patch]# md5sum p182 -c cc.txt 
md5sum: p182: no properly formatted MD5 checksum lines found
p182: FAILED
md5sum: WARNING: 1 of 1 computed checksum did NOT match


修改后md5结果如下:

[root@test patch]# md5sum p182 > dd.txt
[root@test patch]# cat dd.txt 
521e87e3331e94a483aec6bf19039845  p182


相关文章
|
5天前
|
存储 数据挖掘 Linux
在 Linux 中查找目录中最大文件用什么,你知道吗
【5月更文挑战第23天】在 Linux 中查找目录中最大文件,可以使用 `du` 命令结合 `sort`,`find` 命令搭配 `xargs` 和 `sort`,或编写 Python 脚本。例如:`du -a /path | sort -nr | head -n 1` 或 `find /path -type f -print0 | xargs -0 du -h | sort -nr | head -n 1`。这些方法适用于服务器管理、数据分析和文件清理等场景,注意文件权限、目录深度和文件系统类型可能影响结果。
19 1
|
7天前
|
Linux
linux 如何删除文件中的空格和换行符号并保存到新文件中
linux 如何删除文件中的空格和换行符号并保存到新文件中
13 0
|
7天前
|
Linux C语言 Windows
linux基本指令总结--文件和目录(一)
linux基本指令总结--文件和目录(一)
|
12天前
|
Linux 网络安全
linux/服务器使用scp将一个服务器文件转移到另一个服务器上
linux/服务器使用scp将一个服务器文件转移到另一个服务器上
45 3
|
13天前
|
Linux Go
linux ls -la文件信息含义
linux ls -la文件信息含义
19 1
|
13天前
|
SQL 关系型数据库 MySQL
Linux对MySQL语法校验
【5月更文挑战第4天】
|
13天前
|
Linux Shell Python
如何计算 Linux 上文件中的空行数?
【5月更文挑战第11天】
20 0
|
13天前
|
Linux API
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
|
13天前
|
Linux
如何在 Linux 中递归更改文件的权限?
【5月更文挑战第10天】
28 3
|
13天前
|
Linux
Linux如何查询较大文件的方法
【5月更文挑战第8天】Linux如何查询较大文件的方法
23 0