Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi DEC: Keine Änderung des Algo zur DesignZeit. (https://www.delphipraxis.net/19477-dec-keine-aenderung-des-algo-zur-designzeit.html)

Die Muhkuh 4. Apr 2004 07:36


DEC: Keine Änderung des Algo zur DesignZeit.
 
Hi,


heute wollt ich Hagen's DEC benutzen in Delphi 7. Nach kleinen Änderungen funktionierte das auch. Also warf ich ein TCipherManager auf die Form. Das Problem ist nun folgendes:

Ich kann weder den Algorithmus noch die Description ändern.

Was kann man da machen?

Sharky 4. Apr 2004 08:34

Re: DEC: Keine Änderung des Algo zur DesignZeit.
 
Hai Spider,

Hagen hat einmal geschrieben das die Manager die man auf die Form legen kann keine gute Wahl sind. Die hat er wohl mehr aus Spass an der Freude gemacht?
Ich glaube er hat im Forum mal ein Beispiel gepostet wie man es richtig machen sollte.

[EDIT] Habe den Beitrag gefunden.

Die Muhkuh 4. Apr 2004 08:40

Re: DEC: Keine Änderung des Algo zur DesignZeit.
 
Hmm, danke.

Wenn man einen Doppelklick auf den Algo macht lässt er sich verstellen.
Aber die Komponente wird eh nur im Form-Create gebraucht und dann nimmer.

negaH 4. Apr 2004 13:10

Re: DEC: Keine Änderung des Algo zur DesignZeit.
 
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz