![]() |
komplette Dateien jeglicher Art verschlüsseln
habe schon den ganzen tag im Forum gesucht aber gar nichts passenden gefunden nur eben immer wieder Bemerkungen wie : schau dir mal den Befehl TFileStream oder TResourceFile and usw.
Leider komme ich nicht dahinter, wie ich eine komplette Datei verschlüsseln kann..nur eben eine Textausgabe im Edit-Feld.. dazu sieht der Code wie folgt bei mir aus:
Delphi-Quellcode:
nach dem Drücken des knopfes wird auch eine Date erstellt jedoch wird nur der Dateiname eben der generierte schlüssel da es ja so nur den Inhalt vom Edit-Feld verschlüsselt..
procedure TForm1.Button1Click(Sender: TObject);
begin if OpenDialog1.Execute then begin Edit1.Text := OpenDialog1.FileName; ListBox1.Items.LoadFromFile(OpenDialog1.FileName); end; end; procedure TForm1.Button2Click(Sender: TObject); begin tfilestream.Create(Encode(Edit1.Text, 'a'), fmCreate); end; Wie schaffe ich jetzt nur, dass er die komplett mit OpenDialog ausgewählte Datei an sich verschlüsselt ?? hoffe man kann mir weiterhelfen. |
Re: komplette Dateien jeglicher Art verschlüsseln
Klassen in Delphi instanziert man so:
Delphi-Quellcode:
Das zum einen. Und zum anderen: Da hier niemnd hellsehen kann was und wie Encode macht und arbeitet, wird es ziemlich schwer bis unmöglich dir zu helfen.
Obj := TObj.Create;
|
Re: komplette Dateien jeglicher Art verschlüsseln
Der Encode-Befehl stammt aus der RC4-Verschlüsselung und sieht so aus:
Delphi-Quellcode:
function Encode(const Value, Password: String): String;
begin Result := BinToHexStr(RC4Code(Value, Password)); end; wenn ich TObj.Create nehme kennt Delphi den Befehl nicht..was muss ich als USES nehmen dafür ? |
Re: komplette Dateien jeglicher Art verschlüsseln
Damit wirst du nur eine Zeichenkette verschlüssel können, sieht man ja schon an den paramtern: String.
|
Re: komplette Dateien jeglicher Art verschlüsseln
@Avax2k: Ich denke du solltest dich mal mit den Grundlagen beschäftigen.
Den Inhalt der Datei in einen String bekommst du so hinn:
Delphi-Quellcode:
einen String in eine Datei schreibst du dann so
var LStream: TFileStream;
LDateiInhalt: String; begin LStream := TFileStream.Create(DeinDateiname, fmOpenRead); SetLength(LDateiInhalt, LStream.Size); LStream.Read(LDateiInhalt[1], LStream.Size); //nach diesem Befehl steht in "LDateiInhalt" der Dateiinhalt LStream.Free; end;
Delphi-Quellcode:
var LStream: TFileStream;
begin LStream := TFileStream.Create(DeinDateiname, fmCreate); LStream.Write(VerschluesselterString[1], Length(VerschluesselterString)); LStream.Free; end; |
Re: komplette Dateien jeglicher Art verschlüsseln
mal kurz ne grundlagenfrage: was hatte das nochmal mit dem [1] auf sich? war das das mit der länge des strings?
Omann, 5 Jahre Delphi und dann sowas :roll: |
Re: komplette Dateien jeglicher Art verschlüsseln
Das x-te Zeichen vom String - Typ TChar
|
Re: komplette Dateien jeglicher Art verschlüsseln
Nein, Länge ist 0. Allerdings besteht ein String in Delphi nicht nur aus Chars, sondern auch z.B. aus ReferenceCounting und eben diesem Längenfeld. Mit s[1] wird nur der String-Inhalt in den Stream gespeichert.
[edit]Nix roter Kasten :stupid: . Der Typ heißt aber Char, ohne Präfix :wink: . [/edit] |
Re: komplette Dateien jeglicher Art verschlüsseln
auf meiner seite findest du n kleines beispiel für ne fileverschlüsselung mit einer komponente (dcpcrypt)
|
Re: komplette Dateien jeglicher Art verschlüsseln
Super Vielen Dank für die Antworten besonders an SirThornberry und supermuckl
ihr habt mir sehr geholfen :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:36 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