3

我想为给定的字符串创建一个唯一的哈希,我想知道 md5 和 sha1 的重复哈希是否存在差异。

为了论证起见,让我们假设以下代码:

foo = "gdfgkldng"
bar = "fdsfdsf"
md5(foo)
>>>> "25f709d867523ff6958784d399f138d9"
md5(bar)
>>>> "25f709d867523ff6958784d399f138d9"

sha1 和 md5 之间发生这种情况的概率是否存在差异?另外:如果我使用重叠很大的字符串(“blabla1”、“blabla2”),有区别吗?

顺便提一句。我对算法的安全性不感兴趣,我只想创建一个尽可能唯一的哈希。

4

1 回答 1

5

MD5 的摘要大小为 128 位。SHA-1 的摘要大小为 160 位。即使忽略已发现的弱点,MD5 也会产生更多的碰撞,因为它的输出空间更小。

考虑改用 SHA-256;它的摘要大小为 256 位(显然),而且还没有以有意义的方式被破坏。

于 2013-02-06T10:36:33.937 回答