0
我可以創建一個非常短的SHA1哈希來唯一標識一個通常具有類似1300992607
的標識的對象嗎?用於標識對象的SHA1哈希長度?
這是一個相對理論上的問題,但SHA1散列可以有多短並且對於對象ID仍然是唯一的?如果沒有在這裏提出正確的問題,請幫助我。
我可以創建一個非常短的SHA1哈希來唯一標識一個通常具有類似1300992607
的標識的對象嗎?用於標識對象的SHA1哈希長度?
這是一個相對理論上的問題,但SHA1散列可以有多短並且對於對象ID仍然是唯一的?如果沒有在這裏提出正確的問題,請幫助我。
不,你不能,哈希不會這樣工作。
您可以爲id創建一個散列,只需要從中選擇多少位。您使用的位數越多,得到的散列對於兩個不同的id的散列的可能性就越小,但不管從散列中使用了多少位,仍然不能保證永遠不會發生衝突。
哦哇,所以即使提供的輸入是唯一的每一次? – 2011-03-24 19:18:20
@約瑟夫西爾瓦西:是的。哈希值只能保證是唯一的,也就是說,如果你有兩個不同的哈希碼,它們不能來自相同的原始值,無論哈希碼有多小,原始值有多大。 – Guffa 2011-03-24 19:37:23