Einzelnen Beitrag anzeigen

walter_b

Registriert seit: 15. Jul 2008
11 Beiträge
 
Delphi 6 Personal
 
#7

Re: PHP in Pascal:mcrypt_ecb(MCRYPT_DES, $a, $b, MCRYPT_ENCR

  Alt 28. Jul 2008, 19:18
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?
  Mit Zitat antworten Zitat