![]() |
Re: VerschlüsselungsProgramm
Hallo,
ich hab auch ein kleines Verschlüsselungsprogramm erstellt, und hab da mal zwei Fragen (aber bitte nich hauen, bin totaler Anfänger :oops: ): also wie gesagt ich hab ein kleines Verschlüsselungsprogramm geschrieben, in dem man eine Quellatei und eine Zieldatei auswählt und dann ein Passwort eingibt, welches der Schlüssel der Verschlüsselung ist. Das ganze hab ich mit dem DEC gebaut. Zur Zeit sieht das so aus:
Delphi-Quellcode:
1. Frage: Kann ich wenn ich einen Ciphermanager auf dem Formular habe auch folgendes schreiben:
with TCipher_Blowfish.Create(Edit3.text, nil) do
try EncodeFile(Filename, crypt); finally Free; end;
Delphi-Quellcode:
2. Frage: Ich würde gerne eine ComboBox einbauen, in der ich den Verschlüsselungsalgorithmus ändern kann, wie kann ich das machen? Ich hatte es so probiert:
CipherManager1.InitKey(Edit3.text,nil);
CipherManager1.EncodeFile(Filename,crypt); Ciphermanager1.Free;
Delphi-Quellcode:
das hat aber nicht geklappt.
procedure TForm1.ComboBox1Change(Sender: TObject);
begin Ciphermanager1.algorithm:=Combobox1.text; end; Vielen Dank schon mal im Vorraus für eure Hilfe |
Re: VerschlüsselungsProgramm
Hai Sko,
Hagen empfiehlt die "Manger" aus dem DEC nicht zu verwenden. Diese hat er wohl nur zum testen entwickelt. Wenn Du verschiedenen Verschlüsselungsmethoden verwenden möchtest kannst Du das z.B. so machen:
Delphi-Quellcode:
procedure TFRM_Main.btn_TestClick(Sender: TObject);
var DefCipherClass: TCipherClass; begin if (Montag) then DefCipherClass := TCipher_Blowfish; if (Dienstag) then DefCipherClass := TCipher_Rijndael; if (Mittwoch) then DefCipherClass := TCipher_3DES; with DefCipherClass.Create('blubb',nil) do begin try EncodeFile(Filename, crypt); finally Free; end; end; end; |
Re: VerschlüsselungsProgramm
Danke Sharky,
ich hab das jetz so gebaut:
Delphi-Quellcode:
aber da bekomme ich die Meldung undefinierter Bezeichner "TCipher_Rijndael" und
var
Form1: TForm1; Filename: string; crypt: string; Algorithmus: TCipherClass; . . . . procedure TForm1.ComboBox1Change(Sender: TObject); begin if ComboBox1.text = 'Blowfish' then Algorithmus := TCipher_Blowfish; if ComboBox1.text = 'Rijndael' then Algorithmus := TCipher_Rijndael; if ComboBox1.text = 'Sapphire II' then Algorithmus := TCipher_Sapphire II; end; undefinierter Bezeichner "TCipher_Sapphire II" |
Re: VerschlüsselungsProgramm
Zitat:
|
Re: VerschlüsselungsProgramm
Danke jetz funktionierts.
Aber kann ich irgendwie überprüfen, ob auch ein anderer Algorithmus verwendet wird? Ich hab jetz mal zum testen ein Word-Dokument verschlüsselt und bei allen 3 Varianten sah der Inhalt danach gleich aus. Und dann noch was: bei größeren Dateien dauerts ja etwas mit der Verschlüsselung, kann ich da irgendwie eine ProgressBar einbauen? |
Re: VerschlüsselungsProgramm
Zitat:
Zitat:
|
Re: VerschlüsselungsProgramm
So, das mit den Algorithmen funktioniert, aber wie mach ich das mit dem Buffer? :gruebel:
|
Re: VerschlüsselungsProgramm
Zitat:
Dann kopierst Du immer x-Byte vom Stream in einen Buffer. Diesen verschlüsselst Du dann und kopierst ihn in einen zweiten Stream. Dies machst Du solange bis Du am Ende des Quellstreams bist. Ach ja, hatte ich total vergessen: "Herzlich Willkommen in der Delphi-PRAXiS". |
Re: Arbeiten mit dem DEC
Oder du benutzt gleich die Stream Methoden der Cipher Objekte, eg. TCipher_Blowfish.EndecodeStream() etc.
Gruß Hagen |
Re: Arbeiten mit dem DEC
Zitat:
haben die inzwichen eine Callbackmethode oder wie kann man dann eine Progressbar einbauen? Oder meinst Du den Sourcestream "blockweise" in den Deststream zu verschlüsseln. Wird die Position der Streams durch deine Methoden so gesetzt das man dies machen kann oder muss ich mich darum kümmern? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:59 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