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...