非唯一str的最小碰撞是什么:md5或sha1

Ric*_*kyA 3 hash md5 sha1 hash-collision

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

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

foo = "gdfgkldng"
bar = "fdsfdsf"
md5(foo)
>>>> "25f709d867523ff6958784d399f138d9"
md5(bar)
>>>> "25f709d867523ff6958784d399f138d9"
Run Code Online (Sandbox Code Playgroud)

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

BTW.我对算法的安全性不感兴趣,我只想创建尽可能唯一的哈希.

Cai*_*von 5

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

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