Hm... Die Funktion, die du mir damals vorgeschlagen hast, hat wunderbar funktioniert. Jedoch habe ich mir überlegt, ob ich das ganze auch umgekehrt verwenden kann. Hier nochmal der Code, wie er von mir angewandt wurde:
Delphi-Quellcode:
function DecodeText(Key: String): String;
begin
with TCipher_1DES.Create do
try
Mode := cmECBx;
Init(Key);
Result := EncodeBinary('KGS!@#$%', TFormat_HEXL);
finally
Free;
end;
end;
In der
DEC hat es ja auch ein DecodeBinary. Soviel ich weiss, sollte dies ja eigentlich genau das umgekehrte von dem machen, was EncodeBinary macht. Aus diesem Grund habe ich mal selbst was umgebaut, welches den Grundanforderungen der Funktionendefinition entspricht:
Delphi-Quellcode:
function DecodeText(Key: String): String;
begin
with TCipher_1DES.Create do
try
Mode := cmECBx;
Init(Key);
Result := DecodeBinary('KGS!@#$%', TFormat_HEXL);
finally
Free;
end;
end;
Wobei hier der "Key" der Hash-Wert ist, welcher vorhin bei EncodeBinary rauskam. Jedoch meldet er mir bei meinem Inputtext 'KGS!@#$%' folgendes:
Zitat von
Delphi:
... raised
exception clasds EDECExeption with message 'Input is not an valid HEXL Format.'. Process stopped.
Was soll dieser Schwachsinn? Wieso kann ich es mit diesem Wert verschlüsseln, wenn ich es mit dem selben Wert nicht rückverschlüsseln kann? Wie kann ich diese Problem umgehen?