是否有.Net 1.1兼容的String.GetHashCode在.Net 2.0代码中实现?

Ste*_*ner 3 .net-1.1 gethashcode .net-2.0

我有一个现有的应用程序,我错误地使用String.GetHashCode并将其持久化到磁盘.现在我正在将应用程序升级到.Net 2.0,我发现这个决定已经回来让我陷入困境.

我很想知道是否有人知道.Net 1.1兼容字符串散列算法的.Net 2.0实现.

显然,最好的解决方案是给自己买一台时间机器,然后回到2002年,即使考虑使用这种方式使用哈希码,也要自己开始.由于这似乎不太可能,我正在寻找一种解决方法.我现有的用户在他们的系统上有这些数据,所以我不可能对哈希或类似的东西进行一次大的转换.

随着更改为2.0,我将更新代码,因此它当然使用MD5或SHA.

我考虑从Mono中提取String.GetHashCode源,但由于Mono是GPL而且我的应用程序是商业用途,实际上不是一个选项.我甚至不知道Mono实现是否与MS .Net实现兼容,因为GetHashCode的合同不要求它兼容.

有任何想法吗?

Ale*_*vik 6

你不是唯一一个,它似乎是:在.NET 2.0 CLR中获取.NET 1.1 CLR字符串哈希代码

这链接到BackCompatibleStringComparer,它(据称,我无法验证)显示旧的实现GetHashCode().