很多朋友并不是很了解md5是什么,针对这个问题,我们这边做一下简单的介绍。md5为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。
(资料图)
md5是什么?
1991年,Rivest开发出技术上更为趋近成熟的md5算法。它在MD4的基础上增加了"安全-带子"(safety-belts)的概念。虽然md5比MD4复杂度大一些,但却更为安全。这个算法很明显的由四个和MD4设计有少许不同的步骤组成。在md5算法中,信息-摘要的大小和填充的必要条件与MD4完全相同。Den boer和Bosselaers曾发现md5算法中的假冲突(pseudo-collisions),但除此之外就没有其他被发现的加密后结果了。
md5是什么?md5有什么作用?
典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。比如,在Unix下有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5的文件,在这个文件中通常只有一行文本,大致结构如:
md5 (tanajiya.tar.gz) = 0ca175b9c0f726a831d895e269332461
这就是tanajiya.tar.gz文件的数字签名。md5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的md5信息摘要。为了让读者朋友对md5的应用有个直观的认识,笔者以一个比方和一个实例来简要描述一下其工作过程:
大家都知道,地球上任何人都有自己独一无二的指纹,这常常成为司法机关鉴别罪犯身份最值得信赖的方法;与之类似,md5就可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的“数字指纹”,如果任何人对文件做了任何改动,其md5值也就是对应的“数字指纹”都会发生变化。
以上就是有关md5是什么的简单介绍,常常在某些软件下载站点的某软件信息中看到其md5值,它的作用就在于我们可以在下载该软件后,对下载回来的文件用专门的软件(如Windows md5 Check等)做一次md5校验,以确保我们获得的文件与该站点提供的文件为同一文件。利用md5算法来进行文件校验的方案被大量应用到软件下载站、论坛数据库、系统文件安全等方面。