md5编码可以反编码出来么?
网友解答: 先说结论: 永远不可以。普及一下md5是什么吧,它是一种把任意长度的文本转化成固定长度的md5值的算法。它是一种信息安全领域常用的算法,又称为hash算法或者杂凑函数。把消息
先说结论: 永远不可以。
普及一下md5是什么吧,它是一种把任意长度的文本转化成固定长度的md5值的算法。
它是一种信息安全领域常用的算法,又称为hash算法或者杂凑函数。
把消息的md5值作为消息摘要附在消息后面,传给接收方。接收方计算消息的md5值并和发送方传递的md5值比对,如果一致则验证通过。这样,我们就保证了消息的完整性(即消息没有被人篡改)
md5并不是一种加密手段,它是不可逆的运算。为什么这么说呢,因为计算方法本身不是单射,理论上,任何一个md5值都可以映射无穷多个文本。
那么,攻击者是不是可以伪造一段md5值相同的信息呢?
答案是不行的,这和md5的特性有关,你无法伪造一份明文,使得它的md5刚好等于你已知的值。
我们看一下md5的几大特性。
单向限门计算任意长度文本的md5值是很容易的,反过来通过md5倒推原文本,是不可行的。
固定长度任意长度的文本,计算出的md5的长度是一致的。不管你的文本是1个字符,还是一亿个字符。这种特性给安全协议的设计造成很大便利。
雪崩效应哪怕两段长文本只有一个字符不同,其md5值也会差别巨大,这样可以防止攻击者利用频率攻击等手段破译
抗碰撞性其实这里又可以细分为抗弱碰撞性和抗强碰撞性。抗弱碰撞的意思是给你一段文本,你无法伪造一份有相同md5的文本。抗强碰撞的意思是你无法制造两段文本,使他们md5相同。
曾经的md5可以达到抗强碰撞性。但是由于王小云教授发现了md5算法的漏洞,现在md5已经不具备抗碰撞性了。在安全性要求较高的应用场景,采用的是SHA_1这样的更安全的hash算法。
希望我的回答能够帮助你,有任何疑问可以私信我或者评论区留言,谢谢。
网友解答:MD5一般不可逆,很难反编码出来,要破解的话,需要暴力破解,一个个明文去遍历,看看是否匹配密文,这是十分耗时和耗费计算资源的过程。
MD5是对一段信息(Message)产生信息摘要(Message Digest),每个明文的MD5值是不同的,如果明文被改动了,其MD5值也会发生改变。
通常我们下载文件时会比较预先提供的MD5值和实际下载得到文件的MD5值,如果两者不同,说明下载得到的文件出错了或者文件被篡改了。
另外一种用途是数字签名,防止信息在传输过程中被篡改,保证信息的完整性,也可以防止信息发送方的抵赖。