Man sollte wirklich auf diese beiden Komponenten verzichten, sie dienten eigentlich nur für das DEMO Program vom
DEC, und für die vielen "Drag&Design" Programmierer-chen.
Am besten und auch kryptographisch sichersten ist es die im
DEC enthaltenen Klassen direkt zu benutzen. Dies kann man auch Dynamsich zur Laufzeit machen.
1. Beispiel demonstriert die Hardcoded Benutzung, die der Normalanwendung vom
DEC ist
Delphi-Quellcode:
with TCipher_Blowfiash.Create('Passwort hier', nil) do
try
EncodeFile('Filename-Source', 'Filename-Destination');
finally
Free;
end;
ResultString := THash_MD5.CalcFile('Filename-Source', nil, fmtMIME64);
In beiden Fällen werden hardcoded die zu benutzenden Klassen angegeben. Dies sollte die einfachste und sicherste Anwendung sein, da der Entwickler zur Entwurfszeit der Anwendung ganz exakt bestimmt welche Algortihmen er benutzen will. Im Normalfalle wäre das 1 Verschlüsselungs-algo, 1 Hash-Algo und 1 Zufallsgenerator-Algo.
Man kann aber wie im nächsten Beispiel auch dynamisch zur Laufzeit die Klasse angeben:
Delphi-Quellcode:
var
CipherClass: TCipherClass;
begin
TCipher_Blowfish.Register;
TCipher_Rijndael.Register;
THash_MD5.Register;
THash_SHA1.Register;
CipherClass := DECClassByname('Blowfish', TDECCipher);
with CipherClass.Create('Passwort hier', nil) do
try
EncodeFile();
finally
Free;
end;
with DECClassByName('SHA1', TDECHash) as TDECHash do
ResultString := CalcFile('Filename-Source', nil, fmtMIME64);
end;
Gruß Hagen