日期:2014-05-16  浏览次数:20913 次

关于Md5加密算法
任意长度的明文经过加密之后,都成为一个32位长度的密文。
网上说,明文和密文之间都是一一对应的关系。
32位长度的密文能表示的信息总是有限的,为什么还能一一对应呢?

------解决方案--------------------
引用:
Quote: 引用:

个人建议在提问的时候,先去百度行不?如果你想学md5,你去学的时候,一定会明白的。。。


同意楼上的说法,你还是先去了解下MD5的原理吧,每种MD5的算法都不同

基本的是首先程序将要加密的明文通过算法转为密文,在服务端那边又会将密文在转换成明文,配对正确后才认证通过


难道还有很多种MD5算法?
虾扯蛋。
MD5还可以将密文转成明文?
虾扯蛋。
MD5是不可逆的。
如果要说“一一对应”的话,只能理解为一个明文对应一个密文。
一个密文有可能会对应多个明文,但是这个情况极少。
前段时间说有找到了碰撞,但总有来说还是可以有相当高的安全性。
一一对应是不太准确的,但是问题不大。
------解决方案--------------------
LZ这个问题问得挺不错的。
只所以说“一一对应”其实只是书本上为了表述HASH特性。
事实上,并不是一一对应的。
------解决方案--------------------
md5不是加密算法,如果是加密肯定就有解密,md5是不可逆的。
md5只是用来形成摘要,是一种哈希算法,因为md5的时候会丢失部分原始数据,所以想逆回去算出明文是不行的,md5是用来给明文生成个指纹,用来检测唯一性,但是md5长度是32位恒定的,所以有可能碰到不同内容md5后摘要相同的情况,这貌似就是专业术语上说的碰撞吧。