Einzelnen Beitrag anzeigen

Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#1

Text-Verschlüsselungsprogramm

  Alt 5. Mär 2004, 21:53
Hallo!

Ich habe ein Problem mit einem Verschlüsselungsprogramm für Text, das ich selber geschrieben habe; das funktioniert auch so weit.
Nur wenn ich einen längeren Text verschlüsseln lassen will, ist der Text, der dann rauskommt immer viel zu kurz. Wenn ich ihn dann entschlüsseln lasse, kommt auch nur ein bruchteil vom Originaltext raus! Was mache ich da falsch?

Hier der Code:
Delphi-Quellcode:
unit Ulticrypt_U;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Edit3: TEdit; //Feld für das Passwort
    Label3: TLabel;
    Memo1: TMemo; //Originaltext
    Memo2: TMemo; //Verschlüsselter Text
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject); //Die Prozedur fürs Verschlüsseln
var S, P:string;
    I, J:integer;
begin
S:=Memo1.Text;
P:=Edit3.Text;
J:=1;
try
for I:=1 to Length(S) do
  begin
    S[I]:=Chr(Ord(S[I]) xor Ord(P[J]));
    inc(J);
     if J> Length(P) then
    J:=1;
  end;
 Memo2.Text:=S;
except
ShowMessage(' Sie müssen ein Passwort eingeben!');
end;
end;


procedure TForm1.Button2Click(Sender: TObject); //Die Prozedur fürs Entschlüsseln
var S, P:string;
    I, J:integer;
begin
S:=Memo2.Text;
P:=Edit3.Text;
J := 1;
try
  for I := 1 to Length(S) do
  begin
    S[I] := Chr(Ord(S[I]) xor Ord(P[J]));
    Inc(J);
    if J > Length(P) then
    J := 1;
    Memo1.Text:=S;
    end;
    except
ShowMessage(' Sie müssen ein Passwort eingeben!');
end;
end;
end.
Ich hoffe, ihr könnt mir helfen!
Julian J. Pracht
  Mit Zitat antworten Zitat