Ich verwende das
DEC um einen String zu verschlüsseln und wollte jetzt von Version 3.0 auf Version 5.1 aktualisieren. Den Funktionsaufruf habe ich entsprechend angepasst und grundsätzlich funktioniert das Ganze auch. Das einzige Problem ist das die angepasste Funktion keine Passwörter über 32 Zeichen erlaubt. Wenn ich nämlich ein Passwort >32 Zeichen verwende, erhalte ich vom Compiler nur den Fehler
Keymaterial is to large as can be used, security issue. Mit dem alten
DEC war ein Passwort >32 Zeichen kein Problem, also vermute ich mal das ich noch irgendwas falsch mache. Die Frage ist nur was ich falsch mache...
So sah die Funktion bei Verwendung des
DEC 3.0 aus:
Delphi-Quellcode:
{*** Einen beliebigen String verschlüsseln ***}
function Encode(const Value : String): String;
begin
with TCipher_Rijndael.Create('Passwort mit über 32 Zeichen ohne Probleme', nil) do
try
Result := CodeString(Value, paEncode, fmtMIME64);
finally
Free;
end;
end;
So sieht die Funktion bei Verwendung des
DEC 5.1 aus:
Delphi-Quellcode:
{*** Einen beliebigen String verschlüsseln ***}
function Encode(const Value : String): String;
begin
with TCipher_Rijndael.Create do
try
Mode := cmCBCx;
Init('Passwort bis maximal 32 Zeichen');
Result := EncodeBinary(Value, TFormat_MIME64);
finally
Free;
end;
end;