Wenn du die freie Wahl der Methode hast, verwende am besten höhere Funktionen aus den mORMot Libraries.
Delphi-Quellcode:
uses
SynCommons, SynCrypto, SynZip;
var
s: String;
sBase64: RawByteString;
begin
s := 'The cryptographic feature';
sBase64 := BinToBase64(AESSHA256(CompressString(s), StringToUTF8('meinPW'), True));
ShowMessage(sBase64);
s := UnCompressString(AESSHA256(Base64ToBin(sBase64), StringToUTF8('meinPW'), False));
if s <> '' then
ShowMessage(s)
else
ShowMessage('Da ging etwas schief!');
Bis bald...
Thomas