![]() |
datei kodieren und speichern
hallo,
habe für die kodierung von memo.text in listbox.items.add(s) Text verschlüsselt
Delphi-Quellcode:
.. diesen dann als txt-datei gespeichert.
procedure TForm1.BCodClick(Sender: TObject);
var s : string[255]; c : array[0..255] of byte absolute s; i : Integer; begin s := memo1.Text; For i := 1 To ord(s[0]) do c[i] := superkey[i] Xor c[i]; ListBox1.Items.Add(s); memo1.Clear; end;
Delphi-Quellcode:
Solange das programm läuft kann ich die kodierte Datei wieder entschlüsseln, verlasse ich das programm nach dem speichern und hole mir diese datei wieder, kann ich sie nicht mehr entschlüsseln.
procedure TForm1.BExpClick(Sender: TObject);
begin if sdcod.Execute then begin ListBox1.Items.SaveToFile(sdcod.FileName); end; end; über:
Delphi-Quellcode:
erfolgt keine decodierung mehr.
procedure TForm1.BImpClick(Sender: TObject);
begin if odcod.Execute then begin ListBox1.Items.LoadFromFile(odcod.FileName); end; end;
Delphi-Quellcode:
warum nicht? wer kann helfen, was ist falsch? :wall:
procedure TForm1.BdecodClick(Sender: TObject);
var s : string[255]; c : array[0..255] of byte absolute s; i : Integer; begin s := ListBox1.Items[0]; For i := 1 To Length(s) do s[i] := Chr(superkey[i] Xor ord(s[i])); memo1.Text := s; ListBox1.Clear; end; malu [edit=Luckie]Delphi-Tags. Mfg, Luckie[/edit] |
Re: datei kodieren und speichern
Delphi-Quellcode:
Wenn ich nicht daneben tippe, beginnen die Items bei 1
s := ListBox1.Items[0];
[Edit] Fast vergessen, ersmal herzlich willkommen in der DP :dp: ... und XOR ist nicht wirklich eine Verschlüsselung [/Edit] |
Re: datei kodieren und speichern
Nein, 0 ist schon richtig.
Und über die Sicherheit von XOR brauchen wir wohl nicht mehr zu diskutieren. ;) |
Re: datei kodieren und speichern
... dann müßte vlt. die For-Schleife mit 0 starten?
|
Re: datei kodieren und speichern
bist du dir sicher, dass dein key der selbe ist ?
|
Re: datei kodieren und speichern
hallo,
mit s := ListBox1.Items[1]; funktioniert nicht, kommt fehlermeldung = listenindex überschreitung Max(1) ! Schleife mit "0" zu beginnen klappt auch nicht mit decodierung, genauso wie bei "for i := 0 to ... ". über xor bin ich gleicher meinung, möchte aber dieses lösen! hoffe noch! malu |
Re: datei kodieren und speichern
hallo,
key und schlüssel sind sowohl beim speicher und laden, sowie kodierung und decodieren gleich! danke bis hierhin, hoffe weiter :wall: vielleicht muß die dateiverschlüsselung anders gespeichert werden? malu |
Re: datei kodieren und speichern
Zunächst traue ich deinem SuperKey[i] überhaupt nicht über den Weg!
was sagt denn der Debugger? Und warum decodierst Du eigentlich einen String und nicht das Byte array? Gibt es in deinen verschlüsselten Daten $0D,$0A und $00 dann könnte das LoadfromFile in die Hose gehen! Gruß K-H |
Re: datei kodieren und speichern
mit dem debugger ist alles o.k
vielleicht noch eine ergänzung; procedure TForm1.FormCreate(Sender: TObject); var i :integer; begin randseed:=code; randomize; for i := 1 to high(superkey) do superkey[i]:=random(255); end; wobei einmal als var superkey : array[1..keysize] of byte; deklariert ist. als z. bsp. als const keysize = 1234; code = 5678; gesetzt sind. ( können auch andere Zahlenkombinationen sein! ) vielleicht hilft's weiter, habe inzwischen alles probiert! die datei lädt schon meines erachtens schon richt, sehe ich ander zeichenkette, es muss am decodieren nach einem neustart liegen! malu |
Re: datei kodieren und speichern
Da SuperKey bei jedem Start ein anderer zufälliger Wert zu gewiesen wird, klappt die Entschlüsselung natürlich nicht.
Und bitte benutzt die Delphi-Tags für deinen Code! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:19 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