我有一個現有的應用程序,我犯了使用String.GetHashCode並將其保存到磁盤的錯誤。現在我將應用程序升級到.Net 2.0,我發現那個決定已經回來咬我的屁股。是否存在.Net 1.1兼容的.Net 2.0代碼中實現的String.GetHashCode?
我很想知道是否有人知道.Net 2.0兼容字符串散列算法的.Net 2.0實現。
顯然,最好的解決方案是給自己買一臺時間機器,回到2002年,甚至考慮用這種方式使用散列碼。由於這似乎不可能我正在尋找一種解決方法。我有現有的用戶在他們的系統上使用這些數據,所以我不可能對哈希或其他類似的東西進行一次大的轉換。
隨着更改爲2.0,我將更新代碼,以便當然使用MD5或SHA。
我考慮從Mono中提取String.GetHashCode源碼,但由於Mono是GPL,而且我的應用程序是商業應用程序,所以它不是一個選項。我甚至不知道Mono實現是否與MS .Net實現兼容,因爲GetHashCode的合約不需要它兼容。
任何想法?
你確定哈希函數已經改變? MSDN上沒有列出這種更改。 – Amy 2009-12-29 22:51:41
忽略我以前的評論。我在這裏找到它:http://msdn.microsoft.com/en-us/netframework/aa497241.aspx – Amy 2009-12-29 23:20:54