Einzelnen Beitrag anzeigen

Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#1

Fragen zu einem Programm von mir (Verschlüsselung) !?

  Alt 9. Jul 2006, 12:23
Hallo,

ich habe mit Hilfe der DCPcrypt-Komponenten ein kleines Beispielprogramm erstellt. Der Code ist ganz einfach:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
  var
    Cipher: TDCP_rijndael;
    key: string;
    Source, Dest: TFileStream;
  begin
    key := Edit1.Text;
    if (key <> '') and (fopen.Text <> '') and (fsave.Text <> '') then
      begin
        try
          Source:= TFileStream.Create(fopen.Text,fmOpenRead);
          Dest:= TFileStream.Create(fsave.Text,fmCreate);
          Cipher:= TDCP_rijndael.Create(Self);
          Cipher.InitStr(key,TDCP_sha1);
          Cipher.EncryptStream(Source,Dest,Source.Size);
          Cipher.Burn;
          Cipher.Free;
          Dest.Free;
          Source.Free;
          MessageDlg('Datei verschlüsselt!',mtInformation,[mbOK],0);
        except
          MessageDlg('Fehler beim verschlüsseln der Datei!',mtError,[mbOK],0);
        end;
      end
    else
      MessageDlg(' Bitte füllen sie alle Felder aus! ',MtWarning,[mbOK],0);
  end;

procedure TForm1.Button2Click(Sender: TObject);
  var
    Cipher: TDCP_rijndael;
    key: string;
    Source, Dest: TFileStream;
  begin
    key := Edit1.Text;
    if (key <> '') and (fopen.Text <> '') and (fsave.Text <> '') then
      begin
        try
          Source:= TFileStream.Create(fopen.Text,fmOpenRead);
          Dest:= TFileStream.Create(fsave.Text,fmCreate);
          Cipher:= TDCP_rijndael.Create(Self);
          Cipher.InitStr(key,TDCP_sha1);
          Cipher.DecryptStream(Source,Dest,Source.Size);
          Cipher.Burn;
          Cipher.Free;
          Dest.Free;
          Source.Free;
          MessageDlg('Datei entschlüsselt!',mtInformation,[mbOK],0);
        except
          MessageDlg('Fehler beim entschlüsseln der Datei!',mtError,[mbOK],0);
        end;
      end
    else
      MessageDlg(' Bitte füllen sie alle Felder aus! ',MtWarning,[mbOK],0);
  end;
Es wird also erst ein SHA1-Hash generiert und dann die entsprechende datei mit Rijndal verschlüsselt.
Jetzt stellt sich mir folgende Frage:
Kann man damit alle Dateien verschlüsseln, egal welches Format, Größe oder gibt es da irgendwelche
Einschränkungen? Habe mich bis jetzt noch gar nicht mit Verschlüsselung o. Ä. beschäftigt.

Viele Grüße...

  Mit Zitat antworten Zitat