![]() |
String XOR Verschlüsselung - in Datei speichern
Hallo,
ich hab grad ein kleines Problem mit einer XOR-Verschlüsselung. Es soll eine XML-Datei als String XOR-Verschlüsselt werden. Dazu wird ein Passwort benutzt. Das klappt wunderbar solange man die Dateien nicht speichert. Es scheint ein Problem mit Zeilenumbrüchen zu geben. Nach dem Laden ist nur noch die erste Zeile Richtig. Könnt ihr mir helfen? Ich tippe, dass es an procedure LadeTextausDatei(pPfad:String); procedure SpeichereTextinDatei(pPfad:String); liegt. Danke!
Delphi-Quellcode:
unit sicherheit;
interface uses Dialogs,classes; type TVerschluesselung = class constructor _create(Schluessel,Daten: WideString); function Entschluesseln: WideString; function Verschluesseln: WideString; procedure LadeTextausDatei(pPfad:String); procedure SpeichereTextinDatei(pPfad:String); destructor _destroy; public private Data,key: WideString; index: integer; _Ergebnis: WideString; function nextkeybyte: integer; end; implementation { TVerschluesselung } constructor TVerschluesselung._create(Schluessel, Daten: WideString); begin if length(Schluessel) < 2 then exit; key:= Schluessel; Data := Daten; index := 0; end; function TVerschluesselung.Entschluesseln: WideString; begin result := Verschluesseln; end; function TVerschluesselung.nextkeybyte: integer; begin result := ord(key[(index mod length(key))+1]); inc(index); end; function TVerschluesselung.Verschluesseln: WideString; var Ergebnis: String; i: integer; begin Ergebnis := ''; for i:= 1 to length(Data) do begin Ergebnis := Ergebnis + chr(ord(Data[i]) XOR nextkeybyte); end; result := Ergebnis; _Ergebnis := Ergebnis; end; destructor TVerschluesselung._destroy; begin // end; procedure TVerschluesselung.LadeTextausDatei(pPfad: String); var txtDatei: TStringlist; begin txtDatei := TStringList.Create; txtDatei.LoadFromFile(pPfad); Data := txtDatei.Text; txtDatei.Destroy; end; procedure TVerschluesselung.SpeichereTextinDatei(pPfad: String); var txtDatei: TStringlist; begin txtDatei := TStringList.Create; txtDatei.Add(_Ergebnis); txtDatei.SaveToFile(pPfad); txtDatei.Destroy; end; end. |
Re: String XOR Verschlüsselung - in Datei speichern
Hallo,
das ist gut möglich. Jag das Teil vor dem Speichern / nach dem Laden durch ne Kodierung, die dir aus den rohen Bytes lesbare Zeichen (ASCII) macht, z.B. Bin64. Oder speichere es per TFilestream. |
Re: String XOR Verschlüsselung - in Datei speichern
Danke hat geklappt
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:57 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