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. 关于vue-cli创建项目(小白)(2)mock数据

    mock数据,好处,前后端分离,不用等后端的真实接口,就可以用axios(ek sju s 好像这么读,原谅本人总是根据读音写单词)请求数据了. 一,安装所需插件 根据不同需求选择安装环境,mockj ...

  2. ArcEngine临时数据存储 创建内存工作空间

    参考网址,这里 工作中有时候需要使用临时数据,以前都是创建一个默认的shapefile或者gdb,今天发现esri官方帮助文档给出了一个方法,可以创建内存工作空间,代码如下: public stati ...

  3. Newtonsoft.Json转换强类型DataTable错误:Self referencing loop detected with type ......

    问题,在使用Newtonsoft.Json对强类型的DataTable进行系列化时会出现循环引用错误 解决办法,不要直接系列化强类型的DataTable,改为 JsonConvert.Serializ ...

  4. HDU 1010生成树

    求起点到终点的最短权值和

  5. 二叉查找树,AVL树,伸展树【CH4601普通平衡树】

    最近数据结构刚好看到了伸展树,在想这个东西有什么应用,于是顺便学习一下. 二叉查找树(BST),对于树上的任意一个节点,节点的左子树上的关键字都小于这个节点的关键字,节点的右子树上的关键字都大于这个节 ...

  6. springboot:spring data jpa介绍

    转载自:https://www.cnblogs.com/ityouknow/p/5891443.html 在上篇文章springboot(二):web综合开发中简单介绍了一下spring data j ...

  7. odoo二次开发 tips

    1.model属性 每个对象(即class)一般由字段(变量)和函数组成,每个对象对应着数据库中的一张表,驼峰命名方式 models.Model 基础模块,会根据字段和模型名在后台数据库生成对应得表文 ...

  8. NodeJS笔记(二)- 修改模块默认保存路径

    参考:nodejs prefix(全局)和cache(缓存)windows下设置 假设nodejs根目录为“D:\nodejs” 如下所示,新建“node_cache”文件夹用来存放全局缓存 该路径下 ...

  9. 在docker中使用mysql数据库,在局域网访问

    1.获取mysql镜像 docker pull mysql:5.6 注意:此处之所以获取mysql5.6是因为mysql5.7在centos7中启动可能会报错 2.查看镜像列表 docker imag ...

  10. 【Python全栈】HTML <!--...--> 注释 、CSS/JS //注释 和 /*.....*/ 注释

    HTML <!--...--> 注释 .CSS/JS //注释 和 /*.....*/ 注释 <!-- -->是HTML的注释标签,使用 < 和 > 是符合HTML ...