Thema: Delphi xor, was ist falsch?

Einzelnen Beitrag anzeigen

marabu

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

Re: xor, was ist falsch?

  Alt 11. Okt 2006, 09:22
Hallo Martin,

dein Fehler steckt in deiner Indexberechnung:

Delphi-Quellcode:
// Succ(i mod Length(cSchlussel))
   Succ(Pred(i) mod Length(cSchluessel))
Delphi-Quellcode:
function XorStr(const s, key: String): String;
var
  i, iKey: Integer;
begin
  SetLength(Result, Length(s));
  iKey := 0;
  for i := 1 to Length(s) do
  begin
    iKey := Succ(iKey mod Length(key));
    Result[i] := Chr(Ord(key[iKey]) xor Ord(s[i]));
  end;
end;
Grüße vom marabu


@Uwe: Probiere es mal so:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  s: String;
begin
  s := XorStr(Memo1.Text, cSchluessel);
  Memo1.Text := XorStr(s, cSchluessel);
End;
Oder auch mit DoCrypt() - wenn der Fehler draußen ist.
  Mit Zitat antworten Zitat