md5的全称是md5信息摘要算法(英文:MD5 Message-Digest Algorithm ),一种被普遍使用的密码散列函数,能够产生一个128位(16字节,1字节8位)的散列值(常见的是用32位的16进制表示,好比:0caa3b23b8da53f9e4e041d95dc8fa2c),用于确保信息传输的完整一致。php
md5将整个文件当作一个大文本信息,经过不可逆的字符串变换算法,产生一个惟一的MD5信息摘要。文件的md5相似于人的指纹,在世界上是独立无二的,若是任何人对文件作了任何改动,其md5的值也就是对应的“数字指纹”都会发生变化。算法
对MD5算法简要的叙述能够为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,通过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。 安全
md5与对称和非对称加密算法不一样,这两种密码是防止信息被窃取,而摘要算法的目标是用于证实原文的完整性。服务器
没有系统有办法知道md5原来的文字是什么。函数
md5码具备高度的散列性,没有规律可循,哪怕原信息只有一点点的变化,好比多个空格,那么就会致使md5发生巨大变化,也能够说产生的md5码是不可预测的。加密
任意长度的数据,算出的md5值得长度都是固定的。.net
已知原数据和其md5的值,想找到一个具备相同md5值得数据(即伪造数据)是很是困难的。blog
只要算法正确,都是同样的。md5
不会。字符串
除了MD5,还有更安全的SHA-1,SHA-2(包括SHA-22四、SHA-25六、SHA-384,和SHA-512 ),SHA-3,RIPEMD-160等哈希加密算法。
关于王小云破解MD5之我见 :https://blog.csdn.net/raptor/...
MD5做用有哪些:https://blog.csdn.net/jike_ya...
MD5算法原理及其实现:https://blog.csdn.net/u012611...