admin管理员组

文章数量:1532734

2023年12月16日发(作者:)

什么是MD5码?怎样校验MD5码?

2008-02-06 01:22

下载WinMD5校验器

为了确保您所下载的文件是完整和安全可靠的,我们建议您使用MD5校验,这里将介绍什么是MD5校验和如何使用MD5工具进行校验。

什么是MD5码?

MD5码是message-digest algorithm 5(信息-摘要算法)的缩写,被广泛用于加密和解密技术上,它可以说是文件的“数字指纹”。

任何一个文件,无论是可执行程序、图像文件、临时文件或者其他任何类型的文件,也不管它体积多大,都有且只有一个独一无二的MD5信息码,并且如果这个文件被修改过,它的MD5码也将随之改变。

MD5码有什么用?

我们可以通过对比同一文件的MD5码,来校验这个文件是否被“篡改”过。

当我们下载了文件后,如果想知道下载的这个文件和官方网站的原始文件是否一模一样,就可以给自己下载的文件做个MD5码校验。

MD5码如何使用?

1、下载官方提供的MD5码校验工具

下载WinMD5校验器

2、运行MD5码校验工具如WinMD5、 等

3、将要检查的文件拖动到窗口内,选择计算等待生成MD5码

4、检查生成的MD5码是否与官方网站提供的相同

5、如果得到的MD5码和官方网站公布的相同,可确认所下载的文件是完整且正确的。

6、如果MD5码和官方网站公布的不同,说明你下载的文件不完整或在网络下载的过程中出现错误,请您重新下载;也有可能该文件已被别人修改,为防止他人更改该文件时放入病毒或木马,请不要使用该客户端。

又文:

什么是MD5?怎样用MD5来校验下载的iso镜像文件?

一、什么是MD5?

MD5 是一种加密技术,其典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。举个例子,警察可以根据指纹来指认犯罪嫌疑人,那么,我们就可以根据文件的 MD5 值来验证文件是否原始文件,以防止被篡改、加

入木马、病毒等。(关于MD5 的有关情况请参阅汉化包中的 “MD5简介.txt”

文档)WinMD5 则是校验文件的 MD5 值的一个小程序。有时我们下载了许多东西,其中有几个文件大小、类型相同的,但我们还是无法判断它们是否是同一文件,怎么办呢?这时就要用到 WinMD5 了。我们可以把文件拖动到 WinMD5 程序窗口,查看文件的 MD5 校验值是否相同,如果相同,那就是同一文件,如果不同,那就不是同一文件,这样既节省了硬盘空间,又可防止木马、病毒等。

二、怎样用MD5来校验下载的iso镜像文件?(以YlmF XP2 Y1.85国庆版.iso为例)

1、下载WinMD51.1_鼠标版的MD5校验器,地址:/?ID=124

2、打开WinMD51.1_鼠标版,出现下图:

然后将下载的YlmF XP2 Y1.85国庆版.iso整个镜像文件(不能解压、不能打开),拖入上图的窗口中。

经过校验,得出下图:

将上面的MD5值与发布页上的MD5比对,完全一致,说明下载的是正版、并未被人改动过的原版iso镜像文件,直接刻录就是一张可启动的YlmF XP2 Y1.85国庆版光盘。

重要提示:如果将YlmF XP2 Y1.85国庆版.iso镜像文件解压后,提取其中的来校验,是绝对不正确的。有些ISO镜像文件中也还有一个ISO文件 ,将它解压后提取并校验也是不对的。总之,只能将整个ISO镜像文件进行校验才是正确做法。

类别:计算机 | 添加到搜藏 | 浏览(1608) | 评论 (0)

上一篇:【祝外婆生日快乐^-^——白云山... 下一篇:专家揭秘:男人想要结婚的十个信...

相关文章:

MD5真的已靠不住?同样校验,不同...

Hash V1.04 NZONE 汉化绿色版+•

英...

• • MD5校验是怎么回事

"数字指纹"——MD5校验值(含

• 使用md5校验和算法保护文件 • SHA (SHA-1 SHA-2) 附MD5 SHA-1 ...

HashTab - 给文件属性窗口添加GhostXP_SP2电脑公司特别版 系• •

数... 统...

MD5全文校验器 V1.0.1.1版(目宣传朋友写的一个工具:MD5全文• •

前... 校...

更多>>

使用md5校验和算法保护文件

2007-12-27 21:04

使用md5校验和算法保护文件

/article/

近日要用到文件校验算法,查看了一下相关资料,得到以下理论与实践经验。

一、理论部分:

1、预备知识

1.1什么是数据校验

通俗的说,就是为保证数据的完整性,用一种指定的算法对原始数据计算出的一个校验值。接收方用同样的算法计算一次校验值,如果和随数据提供的校验值一样,就说明数据是完整的。

1.2最简单的检验

实现方法:最简单的校验就是把原始数据和待比较数据直接进行比较,看是

否完全一样这种方法是最安全最准确的。同时也是效率最低的。

适用范围:简单的数据量极小的通讯。

应用例子:龙珠cpu在线调试工具。它和龙珠cpu间通讯时,bbug发送一个字节cpu返回收到的字节,bbug确认是刚才发送字节后才继续发送下一个字节的。

1.3奇偶校验Parity Check

实现方法:在数据存储和传输中,字节中额外增加一个比特位,用来检验错误。校验位可以通过数据位异或计算出来。

应用例子:单片机串口通讯有一模式就是8位数据通讯,另加第9位用于放校验值。

1.4 bcc异或校验法(block check character)

实现方法:很多基于串口的通讯都用这种既简单又相当准确的方法。它就是把所有数据都和一个指定的初始值(通常是0)异或一次,最后的结果就是校验值,通常

把她附在通讯数据的最后一起发送出去。接收方收到数据后自己也计算一次异或和校验值,如果和收到的校验值一致就说明收到的数据是完整的。

校验值计算的代码类似于:

unsigned uCRC=0;//校验初始值

for(int i=0;i

适用范围:适用于大多数要求不高的数据通讯。

应用例子:ic卡接口通讯、很多单片机系统的串口通讯都使用。

1.5 crc循环冗余校验(Cyclic Redundancy Check)

实现方法:这是利用除法及余数的原理来进行错误检测的.将接收到的码组进行除法运算

,如果除尽,则说明传输无误;如果未除尽,则表明传输出现差错。crc校验

具还有自动纠错能力。

crc检验主要有计算法和查表法两种方法,网上很多实现代码。

适用范围:CRC-12码通常用来传送6-bit字符串;CRC-16及CRC-CCITT码则用是来传送

8-bit字符。CRC-32:硬盘数据,网络传输等

应用例子:rar,以太网卡芯片、MPEG解码芯片中

1.6 md5校验和数字签名

实现方法:主要有md5和des算法。

适用范围:数据比较大或要求比较高的场合。如md5用于大量数据、文件校验,des用于保密数据的校验(数字签名)等等。

应用例子:文件校验、银行系统的交易数据

2、具体的实现理论

2.1 算法概述

MD5算法是MD4算法的改进算法。Ron Rivest 于1990年提出MD4单向散列函数,MD表示消息摘要(Message Digest),对输入消息,算法产生128位散列值。该算法首次公布之后,Bert den Boer和Antoon Bosselaers 对算法三轮中的后两轮进行了成功的密码分析。在一个不相关的分析结果中,Ralph

MerKle成功地攻击了前两轮。尽管这些攻击都没有扩展到整个算法,但Rivest还是改进了其算法,结果就是MD5算法。

MD5算法是MD4的改进算法,它比MD4更复杂,但设计思想相似,输入的消息可任意长,输出结果也仍为128位,特别适用于高速软件实现,是基于32-位操作数的一些简单的位操作。

2.2 算法步骤

l 将输入消息按512-位分组,最后要填充成为512位的整数倍,且最后一组的后64位用来填充消息长度(填充前)。填充方法为附一个1在消息后,后接所要求的多个0。这样可以确保不同消息在填充后不相同。

l 由于留出64位用来表示消息长度,那么消息的长度最多可达264字节,相当于4G×4G字节,文件的长度是不可能达到这么大,因此通常都是只采用64位中的低32位来表示消息长度,高32位填充0。

l 初始化MD变量。由于每轮输出128位,这128位可用下面四个32位字A,B,C,D来表示。其初始值设为:

A=0x01234567

B=0x89ABCDEF

C=0xFEDCBA98

D=0x76543210

l 开始进入算法主循环,循环的次数是消息中512位消息分组的数目。先将上面A、B、C、D四个变量分别复制到另外四个变量a、b、c、d中去。主循环有四轮,每轮很相似。每轮进行16次操作,每次操作对a、b、c、d四个变量中的三个作一次非线性函数运算,然后将所得结果加上第四个变量,消息的一个子分组和一个常数。再将所得结果向右环移一个不定的数,并加上a,b,c或d中之一。最后用该结果取代a,b,c或d中之一。

以下是每次操作中用到的四个非线性函数(每轮一个)。

F(X,Y,Z)=(X∧Y)∨(( X)∧Z)

G(X,Y,Z)=(X∧Z)∨(Y∧( Z))

H(X,Y,Z)=X⊕Y⊕Z

I(X,Y,Z)=Y⊕(X∨( Z))

其中,⊕是异或,∧是与,∨是或, 是反符号。

这些函数是这样设计的:如果X、Y和Z的对应位是独立和均匀的,那么结果的每一位也应是独立和均匀的。函数F是按逐位方式操作:如果X,那么Y,否则Z。函数H是逐位奇偶操作符。

设Mj表示消息的第j个子分组(从0到15),<<

FF(a,b,c,d,Mj,s,ti)表示a = b+((a+F(b,c,d)+ Mj + ti)<<

GG(a,b,c,d,Mj,s,ti)表示a = b+((a+G(b,c,d)+ Mj + ti)<<

HH(a,b,c,d,Mj,s,ti)表示a = b+((a+H(b,c,d)+ Mj + ti)<<

II(a,b,c,d,Mj,s,ti)表示a = b+((a+I(b,c,d)+ Mj + ti)<<

四轮(64步)结果略。

注:常数ti的选择:

第i步中,ti是232 ×abs (sin(i))的整数部分,i的单位是弧度。

所有这些完成之后,将A,B,C,D分别加上a,b,c,d。然后用下一分组数据继

续运行算法,最后的输出是A,B,C和D的级联。

l 最后得到的A,B,C,D就是输出结果,A是低位,D为高位,DCBA组成128位输出结果。

2.3 MD5的安全性

Ron Rivest概述了MD5安全性[8]:

l 与MD4相比,增加了第四轮。

l 每一步均有唯一的加法常数。

l 为减弱第二轮中函数G的对称性从((X∧Y) ∨(X∧Z) ∨(Y∧Z))变为((X∧Z) ∨(Y∧( Z)))。

l 每一步加上了上一步的结果,引起更快的雪崩效应。

l 改变了第二轮和第三轮中访问消息子分组的次序,使其形式更不相似。

l 近似优化了每一轮中的循环左移位移量以实现更快的雪崩效应。各轮的位移量互不相同。

从安全角度讲,MD5的输出为128位,若采用纯强力攻击寻找一个消息具有给定Hash值的计算困难性为2128,用每秒可试验1 000 000 000个消息的计算机需时1.07×1022年。若采用生日攻击法,寻找有相同Hash值的两个消息需要试验264个消息,用每秒可试验1 000 000 000个消息的计算机需时585年。

二、实现方法

由于此处的文件校验用到要求比较高的场合,故采用了方法6,md5校验算法,从CodeGuru下载了一个md5校验算法的实现模块,加入自己要校验的文件名,实现完成。下面具体描述一下实现过程:

1、创建一个简单的对话框程序;

2、设置CString类型的变量m_filename和m_strFileChecksum以存放要校验的文件名和校验和;

3、在对话框类中创建ChecksumSelectedFile()函数,调用md5校验和类(附录中有其实现文件)中的GetMD5计算文件校验和。

4、使用定时器定时巡检该文件的校验和,一旦发现校验和发生变化,立刻出现提示。

三、附录(md5算法实现的源码)

HashTab - 给文件属性窗口添加数字指纹校验功能(计算文件的MD5/CRC32/SHA1等值)

2007年12月17日 星期一 下午 11:17

经常下载软件的朋友一定会发现,有很多下载软件网站都提供了MD5值(图1)。

一般也提供了MD5值校验码。那么什么是MD5值呢?MD5的全程是message-digest algorithm 5,是信息摘要算法的缩写,被广泛用于加密和解密技术上,它可以说是文件的“数字指纹”。任何一个文件,不管它是什么类型,也不管它体积多大,都有且只有一个独一无二的MD5信息值。

但是为什么在软件下载地址的后面会有MD5值呢?因为现在有很多软件被别人进行了修改,或是添加了插件、病毒木马等,或是添加其他补丁。如果这个文件被修改过,它的MD5值也将随之改变。所以可以通过对比同一文件的MD5值,来校验这个文件是否被“篡改”过。

下载了文件后,要想知道下载的这个文件和网站的原始文件是否一模一样,就可以给下载的文件做个MD5校验。如果得到的MD5值和网站公布的相同,可确认所下载的文件是完整的。如有不同,说明你下载的文件有问题。要么就是在网络下载的过程中出现错误,要么就是此文件已被别人修改。为防止他人更改该文件时放入病毒,最好不要使用。

图1 :不少网站在提供文件下载时也给出了MD5值,不同文件的MD5值是不一样的

那么怎么才能知道文件的MD5值是否被修改呢?这里给大家介绍一款名字为HashTab的程序,安装了HashTab之后会在Windows 资源管理器的文件属性窗口中添加了一个叫做“文件校验”的标签。该标签可以帮助你方便地计算文件的 MD5、SHA1 与 CRC-32 哈希值。这些都是在你验证文件完整性时比较常用的哈希值。

首先下载HashTab到硬盘当中,运行下载的文件开始安装即可。安装完之后,就可以去网站下载文件。文件下载完毕之后,按鼠标右键进入文件属性,选择文件哈希值,就能够看到MD5值,从而就可以校验文件是否被修改过(图2)。除了可以查看MD5值之外,还能够查看SHA1、CRC-32等值。

HashTab 2 的效果截图

图2 HashTab 1.14汉化版的效果

HashTab不仅可以计算文件的MD5,另外还可以比较文件的MD5值。譬如在刚安装好系统后可以给系统文件做个MD5校验,过了一段时间后如果你怀疑某些文件被人换掉,那么就可以给那些被怀疑的文件做个MD5校验,先查看一个文件的MD5值,然后点击“比较”按钮,选择进行比较的文件,然后就会自动将MD5值进行对比,从而就可以看出来文件是否被进行修改。MD5值相同,就表示文件没有问题。若和从前得到的MD5校验码不一样,那么就可以肯定是有问题的。(图3)。

图3 比较文件MD5是否相同

这样以后再下载文件的时候再也不用担心文件被修改,只需使用HashTab来对比MD5值,就可以轻松知道MD5值是否一样,从而判断文件是否被修改。

引用内容

文件详情:HashTab

文件版本: v1.14 汉化版 | 2.0.4 英文版

文件格式: RAR 压缩文档

文件大小: 100 KB | 478 KB

更新日期: 2007.11.23

官方网站: /hashtab/

免责声明:

此页面提供的文件均通过正版NOD32杀毒软件(病毒库日期:2007.10.4)描无毒,请放心使用,但也烦请您在下载后再查毒一次确保文件安全,如本文件对您的计算机造成危害,本站不负责任。

本站所刊载内容均为网络上收集整理,并且以计算机技术研究交流为目的,仅供大家参考,不存在任何商业用途。我们不建议您将其当作技术建议或操作引导而根据其直接行事。若您需要技术服务,您应当正式委托专业公司以保障您的合法权益。这些信息有可能不是最新的、官方的信息,也可能是为了研究某一技术问题而援引自他处,可以不经通知而更改。如果本网站内容不慎侵犯了您的版权,请与我们联系,我们将及时处理,撤下相关内容!

HashTab 下载页面 - 1 (v2.0.4最新版) 下载页面 - 2 (v2.0.4最新版) 下载页面 - 3 (v1.14汉化版) 下载页面 - 4 (v1.14汉化版)

本文标签: 文件校验下载算法消息