Hallo Angel4585,
Inzwischen hast Du ja selbst eine Lösung gefunden. Ich wollte gerade nach einiger Zeit das (neben der Arbeit erstellte) Fragment unten abschicken. Bleibt jetzt eigentlich nur noch der Hinweis/Frage zum IV. Eigentlich sollte er ja nicht konstant sein, und müßte dann zwischen Delphi und PHP kommuniziert werden. Da er nicht geheim sein muss, kann man in zB als die ersten Zeichen versenden.
Zitat:
es ist eigentlich einfacher als ich gedacht hatte. Dein PHP-Codefragment benutzt nämlich 0-Padding (nicht wie ich irrtümlich geschrieben hatte PKCS). Also Du must nur auf Vielfaches der Blocklänge (=8) mit binär 0 auffüllen. Hier ein
DEC-Bsp-Prog, daß die PHP-Ausgabe reproduziert:
Delphi-Quellcode:
program php_bf_demo;
{$apptype console}
uses
SysUtils, Classes,DECCipher,decfmt;
var
d: TCipher_Blowfish;
s:
string;
begin
d := TCipher_Blowfish.create;
d.Mode := cmCBCx;
d.Init('
Passwort','
12345678');
s := d.EncodeBinary('
Teststring'#0#0#0#0#0#0,TFormat_HEX);
writeln('
DEC: ',s);
writeln('
PHP: ', '
E51A3C77A4D01A2B4540B5E1767B982B');
end.
Ausgabe:
DEC: E51A3C77A4D01A2B4540B5E1767B982B
PHP: E51A3C77A4D01A2B4540B5E1767B982B
Gruß Gammatester