Hallo gammatester,
Das geht so überhaupt nicht! Es liegt aber nicht an meinen Routinen, sondern an den häufigen selbstgestrickten
DEC-Routinen:
Ok, verstehe. Ist zwar schlecht, weil's dann wohl darauf rausläuft, dass ich sämtliche Programme, die ich künftig noch pflegen muss und die irgendwo diese Routine verwendet haben um irgendwas zu verschlüsseln, in einer 32-Bit-Version auf ein neues Verfahren umkonvertieren muss um dann in einer künftigen 64-Bit-Version mit beispielsweise Deinen Routinen zu arbeiten. Das wird kein Spaß.
Wie sieht's denn damit aus? Das ist zumindest auch unter (beispielsweise) PHP verwendbar...
Delphi-Quellcode:
function EncryptStringForPHP(Text, Password: RawByteString): RawByteString;
var
Salt : Binary;
begin
Salt := RandomBinary(8);
with TCipher_Blowfish.Create do
try
mode := cmCFB8;
Init(Password, Salt, Context.KeySize);
Result := TFormat_MIME64.Encode(Salt + EncodeBinary(Text, TFormat_Copy));
finally
Free;
ProtectBinary(Salt);
ProtectBinary(Password);
end;
end;
Grüße,
Uwe