欢迎来到115地名网!

115工具网致力于打造和收集各种简单、易用、便捷的在线工具,网友无需注册和下载安装即可使用各种各样的工具。

md5加密

提示:MD5是一种数据加密的算法,可以用于数据的加密,文件快传,文件校验,数据压缩等方面。

加密后的数据:

md5是什么?

md5是一种信息摘要算法,一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值,用来确保信息传输完整一致性。

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

md5有什么作用?

作用一:数字签名

MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。举个例子,我将这段话“md5是什么,md5的这些用途你都知道吗”写在一个叫 read.txt文件中,并对这个read.txt产生一个MD5的值(密文:7a1189ca1650ef630a6c2b0206f42d8b)并记录在案,然后我可以传播这个文件给别人,别人如果修改了文件中的任何内容,那么我对这个文件重新计算MD5时就会发现(两个MD5值不相同)。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。

作用二:一致性验证

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

md5 (tanajiya.tar.gz) = 0ca175b9c0f726a831d895e269332461

这就是tanajiya.tar.gz文件的数字签名。md5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的md5信息摘要。

作用三:安全访问认证

MD5还广泛用于操作系统的登录认证上,如Unix、各类BSD系统登录密码、数字签名等诸多方面。如在Unix系统中用户的密码是以MD5(或其它类似的算法)经Hash运算后存储在文件系统中。当用户登录的时候,系统把用户输入的密码进行MD5 Hash运算,然后再去和保存在文件系统中的MD5值进行比较,进而确定输入的密码是否正确。通过这样的步骤,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。这可以避免用户的密码被具有系统管理员权限的用户知道。

16位MD5加密与32位MD5加密

MD5加密后的位数一般为两种,16位与32位,用的比较多的是32位的MD5加密,而16位MD5加密实际上就是从32位MD5加密结果中将中间的第9位到第24位提取出来。

举例如下:

待加密字符串:admin

32位MD5加密结果:21232f297a57a5a743894a0e4a801fc3

16位MD5加密结果:7a57a5a743894a0e