怎么可能是二串在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