怎麼可能是二串在C#中的哈希衝突?我知道對於一般的對象來說,兩個不平等的對象並不保證有不相等的哈希碼,但是當對象是字符串時它是如何表現的。在C#中的字符串哈希衝突
我特別需要從一個URL字符串的唯一鍵的功能,但不需要任何幻想,它只是緩存的東西從網絡,跳過下載如果某個網址已加載。
編輯
如果我這樣定義
string UniqueKey (string url) {
var list = SplitStringInHalf (url);
var firstHalf = list[0].GetHashCode();
var secondHalf = list[1].GetHashCode();
return firstHalf.ToString() + secondHalf.ToString();
}
這取決於對哈希算法。以低碰撞概率,如sha256。 – 2014-09-27 00:58:39
@WiktorZychla,他沒有提到它,但我認爲他在談論GetHashCode()。 Cristian請指定您正在使用的哈希函數。 – BlueTrin 2014-09-27 00:59:31
它尋找與C#無關的問題,因爲散列函數是算法構造,而不是語言特定的功能。它也是堆棧溢出的主題,因爲它不涉及編碼。考慮詢問http://programmers.stackexchange.com/或http://crypto.stackexchange.com/ – 2014-09-27 00:59:37