md5sum:计算和校验文件的MD5值

xiaohai 2021-05-05 16:59:16 2322人围观 标签: Linux 
简介MD5算法一般用于检查文件完整性,尤其常用于检测在(网络)文件传输、拷贝、磁盘错误或其他无恶意涉入的情况下文件的正确性。MD5全称报文摘要算法(Message-DigestAlgorithm 5)[RFC 1321],该算法对任意长度的信息进行逐位计算,产生一个二进制长度128位(十六进制长度32位)的校验和(或称“指纹”,“报文摘要”),不同的文件内容生成相同的报文摘要的概率是极其小的。
说明

  MD5算法一般用于检查文件完整性,尤其常用于检测在(网络)文件传输、拷贝、磁盘错误或其他无恶意涉入的情况下文件的正确性。MD5全称报文摘要算法(Message-DigestAlgorithm 5)[RFC 1321],该算法对任意长度的信息进行逐位计算,产生一个二进制长度128位(十六进制长度32位)的校验和(或称“指纹”,“报文摘要”),不同的文件内容生成相同的报文摘要的概率是极其小的。

  在Linux或Unix上,md5sum是用来计算和校验文件报文摘要的工具程序。一般来说,安装了Linux后,就会有md5sum工具,可以在命令行终端直接执行。

格式

  md5sum [option] [file]

常用参数说明
  • -b:以二进制模式读入文件
  • -t:以文本文件模式读入文件(默认)
  • -c:用来从文件中读取md5信息检查文件的一致性
  • —status:该选项与check一起使用,在check时不输出,根据返回值表示检查结果

示例

1、生成一个文件的MD5值
[root@localhost test]# md5sum test2.txt 
348bd3ce10ec00ecc29d31ec97cd5839  test2.txt #前面是MD5值,后面是文件名


2、检验文件是否被修改
[root@localhost test]# md5sum test2.txt > md5.txt #生成校验文件
[root@localhost test]# cat md5.txt  #查看校验文件内容
348bd3ce10ec00ecc29d31ec97cd5839  test2.txt
[root@localhost test]# md5sum -c md5.txt #使用-c来检验
test2.txt: 确定
[root@localhost test]# echo "123" >> test2.txt #修改源文件的信息
[root@localhost test]# md5sum -c md5.txt  #文件被修改,检验失败
test2.txt: 失败
md5sum: 警告:1 个校验和不匹配
[root@localhost test]# md5sum -c --status  md5.txt #使用--status参数
[root@localhost test]# echo $?
1