AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Hilfe bei XOR-"Verschlüsselung"

Ein Thema von Pseudemys Nelsoni · begonnen am 18. Jul 2005 · letzter Beitrag vom 18. Jul 2005
Antwort Antwort
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

Hilfe bei XOR-"Verschlüsselung"

  Alt 18. Jul 2005, 05:59
Moin,

ich habe eine Textdatei(Datenbank1.txt) die folgendermassen aussieht:

Zitat:
Ein anderes Wort für Geige ?Violine
Wer malte die "Mona Lisa" ?Leonardo da Vinci
Welche Mauer muss sich den ganzen Tag Klagen "anhören" ?Klagemauer
Nun habe ich im OnClick von Button1 auf meiner Form1 folgende Prozedur:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  xfile: textfile;
  buffer: string;
  i: integer;
  Ch:Char;
begin
  buffer := '';
  AssignFile(xfile, 'C:\Datenbank1.txt');
  Reset(xfile);
  while not eof(xfile) do
  begin
    Read(xfile, ch);
    buffer := buffer + ch;
  end;
  CloseFile(xfile);
  for i := 1 to length(buffer) do
    buffer[i] := Chr(Ord(buffer[i]) xor ((i mod 128)));
  AssignFile(xfile, 'C:\Datenbank2.txt');
  ReWrite(xfile);
  for i := 1 to Length(buffer) do
    write(xfile, buffer[i]);
  CloseFile(xfile);
end;
Das Ergebnis in "Datenbank2" ist nach Klick des Buttons folgendes:

Zitat:
Dkm$dhcm{ox,Za}d1tïf5Qrq~;#HvOMKMA(,pM[
FMAZJU[V{XVXwUN_`~C!*(&:-%k(,n9?1:Y_24:2>|?*BG L PW,[7eo"!eknñzld),2D|puvytcrj
So nun möchte ich den Text wieder im Klartext haben, meine Button2-prozedur sieht so aus:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
  xfile: textfile;
  buffer: string;
  i: integer;
  ch: char;
begin
  buffer := '';
  AssignFile(xfile, 'C:\qdatenbank2.txt');
  Reset(xfile);
  while not eof(xfile) do
  begin
    Read(xfile, ch);
    buffer := buffer + ch;
  end;
  CloseFile(xfile);
  for i := 1 to length(buffer) do
    buffer[i] := Chr(Ord(buffer[i]) xor ((i mod 128)));
  AssignFile(xfile, 'C:\Datenbank3.txt');
  ReWrite(xfile);
  for i := 1 to Length(buffer) do
    write(xfile, buffer[i]);
  CloseFile(xfile);
end;
Nach einem Klick auf Button2, sieht Datenbank3.txt so aus:

Zitat:
Ein anderes Wort für Geige ?Violine
Wer malte die "Mona
Bitte nicht den Rest beachten, z.b warum ich für das ganze 2 prozeduren hab oder sonst was, da ich das nur testweise alles so habe, hier gehts mir lediglich darum, warum da im ergebniss Text fehlt?
Mario
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Hilfe bei XOR-"Verschlüsselung"

  Alt 18. Jul 2005, 06:31
Auch Moin,

Eof beim FCB Nachfolger TextFile kann das physische oder das logische Ende der Datei sein. Das logische Ende wird durch das ASCII control char EOF = #26 markiert. Deine Verschlüsselung verhindert ein Auftreten dieses Steuerzeichens nicht, also musst du die verschlüsselte Textdatei als binary file (filestream) öffnen. Dann sollte alles funktionieren.

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#3

Re: Hilfe bei XOR-"Verschlüsselung"

  Alt 18. Jul 2005, 06:50
Moin,

danke für deine Antwort
Mario
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz