Herzlich Willkommen in der
DP, walther_b!
Zitat von
walter_b:
In PHP ist sie eine Standard-Funktion, während es sie in Delphi wohl nicht gibt.
Das stimmt nicht, die Funktion ist bei PHP aus dem mcrypt Library und nicht bei jedem Server mit PHP dabei.
Zitat von
walter_b:
das ganze möglichst Geschwindigkeitsoptimiert funktionieren würde.
Die
DEC ist sehr hoch optimiert auf Geschwindigkeit, das sollte kein Problem sein. Und schneller als der interpretierte Code von einem PHP Skript ist Delphi auf jeden Fall
Zu Deiner Frage:
Grob gesagt verschlüsselt man mit dem
DEC 5.1 so:
Delphi-Quellcode:
var
ASalt: Binary;
AData: Binary;
APass: Binary;
...
begin
try
with ValidCipher(ACipherClass).Create, Context do
try
ASalt := RandomBinary(16);
Mode := ACipherMode;
APass := ValidHash(AHashClass).KDFx(APassword, ASalt, KeySize,
TFormat_Copy, AKDFIndex);
Init(APass);
AData := ASalt + EncodeBinary(AText) + CalcMAC;
Result := ValidFormat(ATextFormat).Encode(AData);
finally
Free;
ProtectBinary(ASalt);
ProtectBinary(AData);
ProtectBinary(APass);
end;
except
Raise;
end;
end;
Da Du nun bei Deinem PHP Skript keinen Salt hast und das Schlüsselverfahren ECB statt KDF ist, muß Du dies noch entsprechend anpassen. Als CipherClass nimmst Du den DES (falls es den im
DEC noch gibt - der ist ja hochgradig veraltet?!).
Schau Dir auch bitte die Tutorials bzw. Demos zu
DEC an - wenn Du dann konkrete Fragen hast, stelle diese gerne. Aber Deine Arbeit kann ich nicht für Dich machen
Gruß Assertor