![]() |
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? |
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 ![]() |
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. |
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:
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.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); 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 14:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz