MD5是什么?


 


MD5为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。


 


1991年,Rivest开发出技术上更为趋近成熟的md5算法。它在MD4的基础上增加了"安全-带子"(safety-belts)的概念。虽然MD5比MD4复杂度大一些,但却更为安全。这个算法很明显的由四个和MD4设计有少许不同的步骤组成。在MD5算法中,信息-摘要的大小和填充的必要条件与MD4完全相同。Den boer和Bosselaers曾发现MD5算法中的假冲突(pseudo-collisions),但除此之外就没有其他被发现的加密后结果了。




MD5算法简介

消息摘要)的函数(该压缩过程不可逆)。Hash函数可用于数字签名、信息完整性检查等用途。常见的散列算法还有SHA、RIPE-MD、HAVAL、N-Hash等。






MD5有什么作用?


 


典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。比如,在Unix下有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5的文件,在这个文件中通常只有一行文本,大致结构如:


 


MD5 (tanajiya.tar.gz) = 0ca175b9c0f726a831d895e269332461


这就是tanajiya.tar.gz文件的数字签名。MD5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的MD5信息摘要。为了让读者朋友对MD5的应用有个直观的认识,笔者以一个比方和一个实例来简要描述一下其工作过程:


大家都知道,地球上任何人都有自己独一无二的指纹,这常常成为司法机关鉴别罪犯身份最值得信赖的方法;与之类似,MD5就可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的“数字指纹”,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”都会发生变化。


我们




MD5密码加密:

MD5也可以应用在对密码得加密,那么加密后有什么作用呢?和加密前有什么区别呢?

1.因为是不可逆的,所以在数据库里面看到的密码是无用的,你不是检验用户的密码,而是检验用户输入的密码经md5加密以后和数据库内的是否相符

2.你不希望你的邮件服务器的管理员知道你的信用卡密码吧?




 


结束语:常常在某些软件下载站点的某软件信息中看到其MD5值,它的作用就在于我们可以在下载该软件后,对下载回来的文件用专门的软件(如Windows MD5 Check等)做一次MD5校验,以确保我们获得的文件与该站点提供的文件为同一文件。利用MD5算法来进行文件校验的方案被大量应用到软件下载站、论坛数据库、系统文件安全等方面