Ich habe eine vorhandene App, in der ich den Fehler gemacht habe, String.GetHashCode zu verwenden und sie auf die Festplatte zu schreiben. Nun, da ich die App auf .Net 2.0 aktualisiere, merke ich, dass diese Entscheidung zurückgekommen ist, um mich zu beißen.
Ich würde gerne wissen, ob jemand über eine .Net 2.0-Implementierung eines mit .Net 1.1 kompatiblen String-Hashing-Algorithmus Bescheid weiß.
Die beste Lösung wäre natürlich, mir eine Zeitmaschine zu kaufen und zurück ins Jahr 2002 zu reisen und mich selbst ins Schienbein zu treten, weil ich überhaupt in Erwägung gezogen habe, den Hashcode auf diese Weise zu verwenden. Da dies anscheinend nicht möglich ist, suche ich nach einer Umgehungslösung. Ich habe bestehende Benutzer mit diesen Daten auf ihren Systemen, daher ist es für mich nicht möglich, eine große Konvertierung der Hashes vorzunehmen oder etwas in der Art.
Mit der Umstellung auf 2.0 werde ich den Code natürlich so aktualisieren, dass er MD5 oder SHA verwendet.
Ich habe in Betracht gezogen, den Quellcode von String.GetHashCode aus Mono zu extrahieren, aber da Mono GPL ist und meine App kommerziell ist, ist das wirklich keine Option. Ich weiß nicht einmal, ob die Mono-Implementierung mit der MS .Net-Implementierung kompatibel ist, da der Vertrag für GetHashCode keine Kompatibilität erfordern würde.
Irgendwelche Ideen?