我知道将MD5哈希值反转回其原始值是不可能的。但是如何生成一组随机字符,这些字符在散列时会给出完全相同的值?这可能吗?
答案 0 :(得分:4)
查找与给定MD5哈希匹配的消息可以通过三种方式实现:
目前没有对MD5的前映像电阻进行有效攻击。
对MD5存在有效的冲突攻击,但它们只允许攻击者使用相同的哈希构造两个不同的消息。但它不允许他为给定的哈希构造消息。
答案 1 :(得分:3)
是的,可能会出现碰撞(因为您从较大的空间映射到较小的空间,这是您可以假设最终发生的事情)。实际上MD5
在这方面已被视为“破碎”
来自wiki:
但是,已经证明MD5 不是碰撞 因此,MD5不适合像SSL这样的应用 依赖此属性的证书或数字签名。在 1996年,MD5的设计发现了一个缺陷,虽然它不是一个 显然致命的弱点,密码学家开始推荐使用 其他算法,例如SHA-1,后来也被发现 脆弱。 2004年,在MD5中发现了更严重的缺陷 出于安全目的进一步使用该算法 可疑的是,一组研究人员描述了如何 创建一对共享相同MD5校验和的文件。[4] [5]进一步 在2005年,2006年和2007年打破MD5方面取得了进展。[6]在 2008年12月,一组研究人员使用这种技术伪造SSL 证书有效期,[7] [8]和US-CERT现在说MD5“应该是 考虑加密破坏,不适合进一步 使用。“[9]现在大多数美国政府申请都需要使用SHA-2 哈希函数族。[10]
答案 2 :(得分:2)
从某种意义上说,这是可能的。如果您的字符串比哈希本身长,那么您将发生冲突,因此这样的字符串将存在。
然而,找到这样的字符串将等同于反转散列,因为您将找到散列到特定散列的值,因此它不会比以任何其他方式反转散列更可行。
答案 3 :(得分:2)
对于MD5具体?是。
几年前,发表了一篇关于利用MD5哈希的文章,该文章允许轻松生成数据,当进行哈希处理时,会提供所需的MD5哈希值(好吧,他们实际发现的是一种用于查找数据集的算法相同的哈希,但你得到如何使用相反的方式)。您可以阅读原则here的概述。没有找到类似的SHA-2算法,尽管将来可能会改变。
答案 4 :(得分:0)
是的,你所说的是一种碰撞。任何散列机制中的冲突是两个不同的明文在通过散列算法运行后创建相同的散列。