Hallo,
ich versuche gerade einen MD5 von einem Sting zu erstellen. Leider erhalte ich bei Umlauten (ä,ü,ö) ein falsches Ergebnis.
Ich verwende die
DEC von Hagen Reddmann,
bzw. den CRC von Wolfgang Ehrhardt
und ich vergleiche das Ergebnis mit diversen "Online-Md5-Rechnern"
ich verwende dabei folgenden Code,
Delphi-Quellcode:
Var B : Byte;
begin
B := byte('ö'); // Hier ist B = Decimal 246 ist OK kleines oe
// Label1.Caption := THash_MD5.CalcStream(Str,Str.size,TFormat_HEX);
Label1.Caption := THash_MD5.CalcBinary('ö',TFormat_HEX);
// Richtig wäre a172480f4e21d0a124bac19c89569c59 (lt Internet)
// Berechnet ist 44F2C50B838F92970D2C11E2FA98BC7D
end;
Bei "normalen" Strings ohne Umlaute stimmt das Ergebnis, nur bei umlauten kommt eben ein falsches Ergebnis.
Ich habe bereits getestet :
Das "ö" als String ,
Das "ö" als Decimal 246,
Das "ö" als Hex F6
aber das Ergebnis ist immer das gleiche
Woran kann das liegen bzw. wie kann ich den Fehler beheben?
Ich verwende
BDS 2006 und lie Libs von Hagen Reddmann,Wolfgang Ehrhardt