Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#4

Re: DEC: Keine Änderung des Algo zur DesignZeit.

  Alt 4. Apr 2004, 14:10
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
  Mit Zitat antworten Zitat