Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Datei laden, verschluesseln und speichern (https://www.delphipraxis.net/57380-datei-laden-verschluesseln-und-speichern.html)

maximus Caesar 20. Nov 2005 13:32


Datei laden, verschluesseln und speichern
 
Hallo!
Ich möchte eine beliebige Datei Laden,
mit einer eigenen procedure verschlüsseln und wieder speichern.
Wie mache ich das?

Am besten währe es, wenn die Datei byte weise verarbeitet werden kann,
also Datei landen, byte auslesen, byte verschluesseln, byte schreiben, wenn alle bytes geschrieben sind datei speichern.

Hab schon im Forum gesucht aber nichts passendes gefunden.
Hab gelesen das das Laden und speichern mit TFileStream funktioniert, hab aber noch nie damit geschafft und auch kein Tutorial gefunden.

St.Pauli 20. Nov 2005 13:42

Re: Datei laden, verschluesseln und speichern
 
Es gibt etliche Algorithmen zum Verschlüsseln.

So wie ich deine Frage verstehe möchtest du eine Stromchiffrierung verwenden, den Plaintext verschlüsseln und dann den Ciphertext speichern.

Ganz simple Methode ohne viele Umstände wäre, die Datei in einen String zu laden, diese mittels RC4 zu verschlüsseln und den String zu speichern.

maximus Caesar 20. Nov 2005 13:51

Re: Datei laden, verschluesseln und speichern
 
In der Datei ist nicht immer ein String gespeichert.
Die verschlüsselung ist nicht das Problem. Das Laden und Speichern ist das Problem!

PierreB 20. Nov 2005 13:55

Re: Datei laden, verschluesseln und speichern
 
Zitat:

Zitat von maximus Caesar
In der Datei ist nicht immer ein String gespeichert.
Die verschlüsselung ist nicht das Problem. Das Laden und Speichern ist das Problem!

Warum ? Das einfachste wäre den Text in ein Richedit zu laden, verschlüsseln und anschließend zu speichern. Wo ist das Problem !?

Hier im Forum suchenAssignFile,Hier im Forum suchenCloseFile, etc.

3_of_8 20. Nov 2005 13:55

Re: Datei laden, verschluesseln und speichern
 
Laden und Speichern machst du ganz einfach entweder per TStringList oder per TextFile, assignfile, reset/rewrite, readln und closefile. (Wobei ersteres einfacher ist.)

St.Pauli 20. Nov 2005 13:57

Re: Datei laden, verschluesseln und speichern
 
Was ist in der Datei gespeichert, was nicht in einen String passt?

maximus Caesar 20. Nov 2005 14:27

Re: Datei laden, verschluesseln und speichern
 
nach der Verschlüsselung enthält der TExt auch Abschnitte, die nicht als normales Zeichen dargestellt werden. Ich hab die Erfahrung gemacht, dass diese Stellen bei Richedit nicht mitgespeichert werden.

z.B. steht der ASCII wert 65 für A. Aus diesem Wert wird durch die Verschlüsselung z.B. der Wert 29. Ich habe festgestellt, dass in der mit RichEdit oder Memo gespeicherten Datei der entsprechende Wert fehlt.

St.Pauli 20. Nov 2005 14:32

Re: Datei laden, verschluesseln und speichern
 
Wenn du die Datei mittels eines Streams in einen String lädst und mittels eines Streams diese wieder speicherst gibt es keine Probleme...

maximus Caesar 20. Nov 2005 14:34

Re: Datei laden, verschluesseln und speichern
 
Kannst du mir erklären wie ich das mache?
Hab noch net mit Streams selber geschaft

Gamer 20. Nov 2005 14:42

Re: Datei laden, verschluesseln und speichern
 
Ich kenne ne andere möglichkeit, nämlich, dass man das Xor-Verfahren benutzt, wie könnte man das umsetzten???

Beispiel:

T=1011101000110110
S=1010101010101010
E=0001000010011100

Also, das T steht für Text, das S für Schlüssel und das E für Ergebnis. Die Zahlen stehen für die einzelnen Bits. Man ließt immer den Text zum dazugehörigen Schlüssel, in diesem Fall haben wir einen 16-Bit-Schlüssel. Also zum Xor-Verfahren: Immer wenn "untereinander" eine 1 und eine 1 steht, dann ist das Ergebnis 0 weil beides gleich ist, wenn beides 0 ist, dann ist das ergebnis auch 0. Wenn der Text eine 1 hat und der schlüssel eine 0, dann ist das Ergebnis 1 und wenn der Text eine 0 enthält und der Schlüssel eine 1, dann ist das Ergebnis 1. Also kurze Zusammenfassung:

0 || 0 = 0
1 || 0 = 1
0 || 1 = 1
1 || 1 = 0

Wie kann man jetzt die genau Bitreihenfolge aus einer datei auslesen, mit einem schlüssel codieren und als Ergebnis speichern?

MfG Gamer


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 Uhr.
Seite 1 von 2  1 2      

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