Thema: Delphi XOR

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#5

AW: Delphi XOR

  Alt 25. Aug 2010, 08:54
Ups, auch noch vergessen den Index zu tauschen.
Delphi-Quellcode:
if d<length(passwort) then d:=d+1;
if d>length(passwort) then d:=1 ;
s[i]:=char(Ord(s[i]) Xor Ord(passwort[d]));
So wie du d initialisierst, mußt du erst nach den IFs auf dieses zugreifen, da sonst der Index nicht stimmt.

Ich empfehle die darum, in den Projektoptionen mal die Index- und die Bereichsprüfung zu aktivieren.

Stattdessen kannst du auch den Tipp von Aphton nehmen und die IFs weglassen:
s[i] := char(Ord(s[i]) Xor Ord(passwort[(i - 1) mod Length(passwort) + 1])); .


Wie gesagt:
Schau mal im Debuger, was wirklich in S drinsteht.
Das Memo behandelt #10 und #13 anders ... aus #10 (LF) wird #13#10 (CRLF), aus #13 (CR) wird #13#10 (CRLF), aus #10#13 (LF+CR) wird #13#10#13#10 (CRLF+CRLF) und nur #13#10 (CRLF) bleibt #13#10
(CRLF).
Und bei #0 wird abgebrochen ... Stichwort PChar
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (25. Aug 2010 um 08:59 Uhr)
  Mit Zitat antworten Zitat