MD5 算法常常被用来验证网络文件传输的完整性,防止文件被篡改。MD5 全称是报文摘要算法,此算法对任意长度

的信息逐位计算,产生一个二进制长度为 128 位(十六进制长度 32 位)的报文摘要,不同的文件产生相同的报文摘要的可

能性非常小。

在 Linux 上,md5sum 是用来计算和校验文件报文摘要的工具程序。一般来说,安装了 Linux 后,就会有 md5sum 这

个工具,直接在命令行终端直接运行。

1.使用 md5sum 来产生报文摘要命令如下:

md5sum file > file.md5

md5sum file >> file.md5

  也可以把多个文件的报文摘要输出到一个文件中,这需要使用通配符 * ,比如某目录下有几个 iso 文件,要把这几个iso

文件的报文摘要输出到 iso.md5 文件中,命令如下:

md5sum *.iso > iso.md5

  2.使用 md5 报文摘要验证文件

2.1 把下载的文件 file 和 该文件的 file.md5 报文摘要放在同一个目录下,然后用如下命令进行验证:

md5sum -c file.md5

     2.2 使用 md5sum file 命令会输出一个 md5 的报文摘要,然后把这个报文摘要直接与 file.md5 中的内容比较。

示例如下:

[root@VM_81_181_centos ~]# mkdir test
[root@VM_81_181_centos ~]# cd test/
[root@VM_81_181_centos test]# touch f1.txt f2.txt
[root@VM_81_181_centos test]# ls
f1.txt f2.txt
[root@VM_81_181_centos test]# md5sum *.txt > md5sumtest.md5
[root@VM_81_181_centos test]# cat md5sumtest.md5
d41d8cd98f00b204e9800998ecf8427e f1.txt
d41d8cd98f00b204e9800998ecf8427e f2.txt
[root@VM_81_181_centos test]# echo "hahaha" > f1.txt
[root@VM_81_181_centos test]# md5sum -c md5sumtest.md5
f1.txt: FAILED
f2.txt: OK
md5sum: WARNING: 1 computed checksum did NOT match
[root@VM_81_181_centos test]# echo "hahaha" > f2.txt
[root@VM_81_181_centos test]# md5sum -c md5sumtest.md5
f1.txt: FAILED
f2.txt: FAILED
md5sum: WARNING: 2 computed checksums did NOT match
[root@VM_81_181_centos test]# cat /dev/null > f1.txt
[root@VM_81_181_centos test]# md5sum -c md5sumtest.md5
f1.txt: OK
f2.txt: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
[root@VM_81_181_centos test]# cat /dev/null > f2.txt
[root@VM_81_181_centos test]# md5sum -c md5sumtest.md5
f1.txt: OK
f2.txt: OK
[root@VM_81_181_centos test]#

  生成一个文件的 md5 值

[root@VM_81_181_centos test]# md5sum f1.txt
d41d8cd98f00b204e9800998ecf8427e f1.txt

  

Linux md5sum 的用法的更多相关文章

  1. (转) linux之sort用法

    sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参数格式: sort [-bcfMnrtk][源文件][-o 输出文件] 补充说明:sort可针对文本文件的内容,以行为单位来排序. 参 数 ...

  2. linux mail命令用法

    在Linux系统下mail命令的测试 1. 最简单的一个例子: mail -s test admin@aispider.com 这条命令的结果是发一封标题为test的空信给后面的邮箱,如果你有mta并 ...

  3. linux expect, spawn用法小记

    linux expect, spawn用法小记_IT民工_百度空间 linux expect, spawn用法小记 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://sys ...

  4. linux下automake用法

    linux下automake用法 2017年02月06日 09:21:14 阅读数:3684 标签: makemakefilegnulinux   作为Linux下的程序开发人员,大家一定都遇到过Ma ...

  5. Linux上case用法

    Linux上case用法示例: #!/bin/bash # This is a script for test case ASK_COUNT=$ #从参数获取该变量的值 # if [ -z " ...

  6. Linux shell ${}简单用法

    转自:Linux shell ${}简单用法 为了完整起见,我这里再用一些例子加以说明 ${ } 的一些特异功能:假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.t ...

  7. Linux中find用法

    Linux中find用法 linux常用命令 find -name april* 在当前目录下查找以april开始的文件 find -name april* fprint file 在当前目录下查找以 ...

  8. (转)linux paste命令用法详解

    linux paste命令用法详解原文:http://www.xfcodes.com/linuxcmd/mulu/10211.htmlinux下paste命令,可用于合并文件的列. 功能说明:合并文件 ...

  9. 【转载】linux之sed用法

    linux之sed用法 原文地址:http://www.cnblogs.com/dong008259/archive/2011/12/07/2279897.html   sed是一个很好的文件处理工具 ...

随机推荐

  1. 协程greenlet、gevent

    greenlet为了更好使用协程来完成多任务,python中greenlet模块对其封装,从而使得切换任务变得更加简单安装方式 pip3 install greenlet 示例代码: from gre ...

  2. 五子棋棋盘布局 table和ul哪个好

    想要在页面布局以上棋盘,可以用ul li 布局,但却有明显的缺点: 1.两行两列:ul li 下面如果再放li 会出错,只能是放其他的,比如div. 或者放li *行*列: 但是这样有两个明显缺陷: ...

  3. web开发中xml的内容

    文档声明(注:文档声明前不能有注释) XML中的元素/标签 注:xmlx中解析程序会将其中的空格与换行当做内容来解析,区分大小写 CDATA区域中的内容不解析

  4. ThinkPHP 缓存技术详解 使用大S方法

    如果没有缓存的网站是百万级或者千万级的访问量,会给数据库或者服务器造成很大的压力,通过缓存,大幅减少服务器和数据库的负荷,假如我们把读取数据的过程分为三个层,第一个是访问层,第一个是缓存层,第三个是数 ...

  5. js中级小知识

    1.作用域链 作用域:浏览器给js的一个生存环境(栈内存). 作用域链:js中的关键字var和function都可以提前声明和定义,提前声明和定义的放在我们的内存地址(堆内存)中.然后js从上到下逐行 ...

  6. JAVA SE ------------------- 项目的菜单输入

    //写一个工具类,进行输入选项数值的获取public class InputUtil { static Scanner sc=new Scanner(System.in); public static ...

  7. [redis] redis cli的学习记录

    文档: https://redis.io/topics/rediscli help命令: The command can be used in two forms: . help @<categ ...

  8. 详解FPGA中的建立时间与保持时间

    概念对于一个数字系统而言,建立时间和保持时间可以说是基础中的基础,这两个概念就像是数字电路的地基,整个系统的稳定性绝大部分都取决于是否满足建立时间和保持时间.但是对于绝大部分包括我在内的初学者来说,建 ...

  9. Asp.net 程序连接orcle如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,

    本人使用orcale11g 安装orcale 之类以及navicat配置在这里不提,之后会写一篇文章来说明. 到此已经安装和配置navicat访问数据正常,但是运行Asp.net  程序报错 问题如下 ...

  10. 检测到包降级: Microsoft.Extensions.Configuration.Abstractions 从 2.1.1 降 2.1.0

    解决方法:工具-nuget管理包-程序管理控制台-选择 项目- 执行 -Install-Package Microsoft.Extensions.Configuration.Abstractions ...