Das hat erstmal nix mit dem
Unicode-Desaster zu tun. Was Du machst ist eigentlich ziemlich sinnfrei. Der Ablauf ist initialisieren - verschlüsseln - speichern, dann initialisieren - entschlüsseln - anzeigen. Wenn das zweite initialisieren fehlt, gibt's auch bei
Ansi chinesische Zeichen. Versuch es also mal so:
Delphi-Quellcode:
procedure Test;
var
s,t: string;
begin
DCP_3DES1.InitStr('test',TDCP_sha1);
s := DCP_3DES1.EncryptString('passwort');
DCP_3DES1.InitStr('test',TDCP_sha1); // Chinesisch wenn diese Zeile fehlt
t := DCP_3DES1.DecryptString(s);
showmessage(t);
end;