文档章节

md5对比文件

我爱吃葱花
 我爱吃葱花
发布于 2015/10/22 18:00
字数 528
阅读 327
收藏 3

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@linuxidc www.linuxidc.com]# md5sum p182  > cc.txt


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

[root@linuxidc www.linuxidc.com]# cat cc.txt 
dd05e55e3aca2d39e49a1a7d1b3fd404  p182


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

[root@linuxidc www.linuxidc.com]# md5sum p182 > ee.txt
[root@linuxidc www.linuxidc.com]# cat ee.txt 
0f0b000b096ac947d6067466cc60ffd0  p182


[root@linuxidc www.linuxidc.com]# md5sum p183 > ff.txt
[root@linuxidc www.linuxidc.com]# cat ff.txt 
dd05e55e3aca2d39e49a1a7d1b3fd404  p183


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


[root@linuxidc www.linuxidc.com]# md5sum p182 > cc.txt
[root@linuxidc www.linuxidc.com]# cat cc.txt 
0f0b000b096ac947d6067466cc60ffd0  p182

 


修改下p182文件:

[root@linuxidc www.linuxidc.com]# vi p182

跟原来的md5结果进行对比:
[root@linuxidc www.linuxidc.com]# 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@linuxidc www.linuxidc.com]# md5sum p182 > dd.txt
[root@linuxidc www.linuxidc.com]# cat dd.txt 
521e87e3331e94a483aec6bf19039845  p182


本文转载自:http://www.linuxidc.com/Linux/2014-03/98416.htm

共有 人打赏支持
我爱吃葱花
粉丝 28
博文 128
码字总数 34703
作品 0
海淀
数据库管理员
Unity AssetBundle 热更 资源生成对应 MD5码

Unity AssetBundle 热更 资源生成对应 MD5码 游戏版本变更,一般会伴随着 AssetBundle 资源的变动,客户端如何确定哪些资源需要更新,哪些资源是本地没有的。 一般做法就是将整个版本的所有 ...

liqiangeastsun
01/22
0
0
文件完整性校验——MD5校验

更新应用,需要确保下载的文件是完整性的,因此需要对文件进行校验,这里采用MD5校验 服务端对文件进行MD5校验,将有关信息返回,客户端下载 更新文件,对下载的文件进行校验,获取MD5 与服务...

tianyiling
2016/04/12
713
0
网站防篡改验证模块--MD5sum

MD5sum 本软件是一个非常好用的WEB文件MD5生成和验证的模块。 站点所有文件的计算MD5值,并保存在一个文件中。然后以后可以手动或者crontab,监控程序等定期对保存文件中的文件生成md5值和已...

桔子
2016/10/27
404
0
linux文件和目录操作命令详解-md5sum

前言 在网络传输、设备之间转存、复制大文件等时,可能会出现传输前后数据不一致的情况。这种情况在网络这种相对更不稳定的环境中,容易出现。那么校验文件的完整性,也是势在必行的。 1、使...

TENGQ
2017/03/31
0
0
cocos lua的两个热更新方法

一、说明:本文中的两种热更新非cocos自带热更新 二、理论: 1.第一种只存在一套资源,用一个文件记录所有文件的信息(文件名,路径,大小,MD5)。游戏启动时下载这个文件与本地文件MD5进行...

qq349263818
03/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ArrayList嘿嘿嘿

数组扩容技术: //扩容技术 将原数组objs类容复制到新数组并且长度为11 Object[] newObjs = Arrays.copyOf(objs,11); 数组比较大那么System.arraycopy比较有优势,因为其使用的是内存复制,省...

熊猫你好
19分钟前
1
0
Android平台下的一个好用的日历库(sxtwl_cpp),支持农历转公历,和公历转农历等功能

python版的sxtwl_cpp传送入口 在build.gradle的allprojects中加入 maven { url 'https://dl.bintray.com/yuangu/sxtwl' } 最终如下面代码所示: allprojects { repositories { ......

元谷
30分钟前
9
0
Redis常用命令

keys 我把这个命令放在第一位,是因为笔者曾经做过的项目,以及一些朋友的项目,都因为使用keys这个命令,导致出现性能毛刺。这个命令的时间复杂度是O(N),而且redis又是单线程执行,在执行k...

谢思华
46分钟前
2
0
关于css宽度分离

所谓宽度分离就是width 属性不与影响宽度的 padding/border(有时候包括 margin)属性共存 例如: .box{width:200px;padding:20px;border:1px solid;} 为何要做宽度分离 一说到分离就是为了好...

莫西摩西
57分钟前
1
0
Linux常用命令

###############常用命令说明############################## cat /proc/version 显示内核的版本 mv dir1 new_dir 重命名/移动 一个目录 rm -rf a.txt b.txt c.txt 删除多个文件 chmod 777 ......

lyle_luo
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部