我的意思是我不需要寻找实际的碰撞,就知道它们的存在。如果没有冲突,那么如何获得固定长度的结果呢?这就是为什么我不明白人们声称“md5 不安全”是什么意思!有人发现了碰撞!”,或者类似的东西。
我唯一能想到的是,碰撞搜索仅查找字典单词,例如:如果“狗”和“房子”共享相同的哈希值,那么在我看来,这将是一种愚蠢的哈希方法。它还可以查找长度
我完全错了吗?
MD5 是一个 128 位哈希值,因此有 2^128 种可能的哈希值。如果哈希是完美的,那么理论上需要大约 2^64 次不同的哈希尝试才能找到冲突(并且您必须存储所有 2^64,因为每个新哈希都需要与所有先前的值进行比较)。地球上没有 2^64 位的存储空间,所以你是安全的。
对 MD5 的攻击允许使用明显小于 2^64 的哈希值和明显小于 128 x 2^64 位的存储来发现冲突。这就是 MD5 被认为已损坏的原因。
目前还没有针对全强度 SHA-1 的类似攻击,但预计此类攻击将在几年内被公开。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)