假设我正在尝试识别文件系统中的重复文件。可以肯定地说,如果文件的SHA1校验和匹配,它们是相同的吗?如果匹配,我还应该查看他们的内容吗?
我读过攻击的理论复杂性是2 ^ 51个哈希函数调用。我还在SO上读到“对于输出160位的SHA1,生日攻击将复杂性降低到2 ^ 80.这应该是安全的30年或更长时间。”我还应该仔细检查以确保文件内容匹配吗?我想确保我的作业在测试脚本下运行时不会产生错误的输出。
答案 0 :(得分:1)
两个给定的消息具有相同的散列(因为SHA-1产生160位散列),所以有一个2 ^ 160的机会。
即使你的文件系统中有一百万个条目,新条目仍然可以分享相同的哈希值。[/ p>
SHA-1已被证明相当不错,所以我认为你根本不需要担心碰撞。如果您需要更多,可以添加一些质量属性,如时间戳,文件大小..