HasCode

MikeBi

Mitglied
Hallo,
ich habe ein kleines Problem mit dem getHashCode von Strings. Ich vergleiche die Hashcodes von 2 Zeichenketten (Kopierschutz). Eine Zeichenkette ist dabei auf dem jeweiligen Rechner hinterlegt. Jetzt hat jemand die Software auf Windows7 mit 64Bit installiert. Jetzt bekomme ich für den gleichen String auf meinem Rechner und dem 64 Bit Rechner einen anderen Hasch-Code. Leiderr kann ich das System nicht einfach abändern, weil ja sonst die ganzen schon vergebenen Codes ungültig würden. Außerdem wird der Code auf einem 32Bit rechner erzeugt und dann dem Kunden gegeben.
Also nun zur Frage. Wie kann ich einen HashCode erzeugen wie beim 32Bit System ? Leider weiß ich auch nicht welcher Hash-Algorithmus bei Net verwedet wird.
Vielen Dank für Eure Ideen.

Mike
 
Hi Mike,

laut der Doku sind die Hash's bei 32 und 64 unterschiedlich. Eigentlich sollte man auf sowas achten^^

Aber naja ich möchte nicht so sein. ;-)

Hier eine mögliche Implementation im 4 Beitrag im Forum oder hier im original Posting, der auf jedem System den gleichen Hash erzeugt. Ob dieser erzeugter Hash der gleiche ist wie der String.getHashCode() auf 32bit-Systemen weiß ich nicht, allerdings kannst du es ja sehr leicht testen.

Aber sag bitte bescheid ob es identisch ist oder wie deine Lösung aussieht (interessiert mich auch).

Gruß
RudolfG
 
Zuletzt bearbeitet:
Hallo,

ich habe den vorgeschlagenen Code nach VB.net umgesetzt. War nicht ganz einfach, weil die im Beispiel den Speicherüberlauf ausgenutzt haben. Aber im Endeffekt hat es funtioneniert. Habe es auch schon an verschiedenen Systemen getestet.
Nochmals Danke für den Vorschlag.

Mike
 
Hi,

ich habe gerne geholfen :D

Schließ bitte diesen Thread mit "Beantwortet" ab, damit jeder sehen kann, dass du eine Lösung hast und man sich nicht damit beschäftigen/dafür Recherchieren.

Gruß
RudolfG
 
Zurück