md5是什么文件格式
那么MD5到底是什么?它是加密算法吗?没有,md5是一种信息摘要算法,
MD5中文名叫做消息摘要算法第五版,这是为了软件不被更改和确保信息传输完整一致所发明的一个软件。
正如同“凡物莫不相异”,任何软件都有属于自己的MD5,这个MD5是唯一的且不可逆的。
MD5值具有以下特征:
1、它是一段数据,即128bit的由“0”和“1”组成的一段二进制数据。无论原始数据长短是多少,其MD5值都只是128bit。
2、通常(或者叫行业规定),这段128bit的数据,按4bit一组分成32组,每一组按16进制来计算其值,并以字符的形式输出每个值。比如一组数据按16进制计算出来的值是0-9,打印出来也是0-9,如果计算出来的值是a-f,如果直接打印的话将会是10-15,在java中可以使用String.format("%02x", bytes[i])方法来将16进制的 a-f 打印成字母“a-f”,最终这个128bit的数据将会被打印成一个32位的字符串。所以我们通常所说的MD5值就是指这串32位的由“0-9,a-f”所组成的字符串。如果你看到某个MD5不是32位,或发现其中含有“0~f”之外的字符,那肯定是个错误的MD5值。
3、确定性,MD5是原始数据的唯一,同一个原始数据不可能会计算出多个不同的MD5值。
4、碰撞性,原始数据与其MD5值并不是一一对应的,有可能多个原始数据计算出来的MD5值是一样的。
5、不可逆。也就是说如果告诉你一个MD5值,你是无法通过它还原出它的原始数据的,这不是你的技术不够牛,这是由它的算法所决定的。
我告诉你msdn版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!