MD5是message-digest algorithm 5(信息-摘要算法)的缩写,被广泛用于加密和解密技术上,它可以说是文件的“数字指纹”。任何一个文件,无论是可执行程序、图像文件、临时文件或者其他任何类型的文件,也不管它体积多大,都有且只有一个独一无二的MD5信息值,并且如果这个文件被修改过,它的MD5值也将随之改变。因此,我们可以通过对比同一文件的MD5值,来校验这个文件是否被“篡改”过。
MD5到底有什么用
当我们下载了如图1所示之类的文件后,如果想知道下载的这个文件和网站的原始文件是否一模一样,就可以给自己下载的文件做个MD5校验。如果得到的MD5值和网站公布的相同,可确认所下载的文件是完整的。如有不同,说明你下载的文件是不完整的:要么就是在网络下载的过程中出现错误,要么就是此文件已被别人修改。为防止他人更改该文件时放入病毒,最好不要使用。
当我们用E-mail给好友发送文件时,可以将要发送文件的MD5值告诉对方,这样好友收到该文件以后即可对其进行校验,来确定文件是否安全。
再比如:在刚安装好系统后可以给系统文件做个MD5校验,过了一段时间后如果你怀疑某些文件被人换掉,那么就可以给那些被怀疑的文件做个MD5校验,若和从前得到的MD5校验码不一样,那么就可以肯定是有问题的。
如何读取和校验MD5信息 字符串是什么样
了解了MD5信息以后,下面我们来看一看如何读取并校验文件的MD5信息。这需要一款检测MD5值的专门小软件,这是一款绿软件,解压缩后运行其中的MD5.EXE文件即可。软件的使用非常简单,点击“Open”按钮,选择并打开想要进行校验的文件,稍等片刻后,在MD5一栏中便会显示该文件的MD5值,将该数值同网站公布的数值进行比较即可确定文件是否完整了。点击“Save”按钮可以将读取的MD5保存为一个.MD5文件,用记事本打开该文件,可以将MD5值复制出来。
为了验证文件修改后的MD5值是否发生变化,笔者用一个文本文件进行了测试。如图2所示,第一个文件为进行测试的原始文件,第二个文件为进行修改后的文件(不过只是在打开原始文件的基础上加入了一个空格),第三个文件为原始文件的复制文件。从图中可以看出,尽管改动不大,但是两个文件的MD5值却大相径庭,而复制得到的文件则不会发生变化。
参考资料:way/bbs/Dispbbs.asp?boardid=9&ID=7695&replyID=184454&skin=1
MD5在论坛上、软件发布时经常用,是为了保证文件的正确性,防止一些人盗用程序,加些木马或者篡改版权,设计的一套验证系统。每个文件都可以用 MD5验证程序算出一个固定的MD5码来。软件作者往往会
事先计算出他的程序的MD5码并帖在网上。因此,在网上看到某个程序下载旁注明了MD5码时,可以把它记下来,下载了这个程序后用MD5验证程序计算你所下载的文件的MD5码,和你之前记下MD5码比较,
就知道你下的是不是原版了,如果两者相同,那么你所下载的是原版。如果计算出来的和网上注明的不匹配,那么你下载的这个文件不完整,或是被别人动过手脚。
----------------------------------------------------------
MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。
Message-Digest泛指字节串(Message)的Hash变换,就是把一个任意长度的字节串变换成一定长的大整数。请注意我使用了“字节串”而不是“字符串”这个词,是因为这种变换只与字节的值有关,与字符集或编码方式无关。
MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。
MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。举个例子,你将一段话写在一个叫 文件中,并对这个产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现(两个
MD5值不相同)。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。
MD5还广泛用于加密和解密技术上,在很多操作系统中,用户的密码是以MD5值(或类似的其它算法)的方式保存的, 用户Login的时候,系统是把用户输入的密码计算成MD5值,然后再去和系统中保存的MD5值进行比较,而系统并不“知道”用户的密码是什么
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论