Thema: Delphi xor funktioniert nicht

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: xor funktioniert nicht

  Alt 4. Mai 2009, 16:58
falls es noch schneller sein muß...
Delphi-Quellcode:
Function StringXorCrypt(Const Text, Key: AnsiString): AnsiString;
  Var pText, pTextEnd, pKey, pKeyEnd, pResult: PAnsiChar;

  Begin
    SetLength(Result, Length(Text));
    pText := PAnsiChar(Text);
    pTextEnd := PAnsiChar(Text) + Length(Text);
    pKey := PAnsiChar(Key);
    pKeyEnd := PAnsiChar(Key) + Length(Key);
    pResult := PAnsiChar(Result);
    While pText < pTextEnd do Begin
      pResult^ := Chr(Ord(pText^) xor Ord(pKey^));
      Inc(pText);
      Inc(pResult);
      Inc(pKey);
      If pKey >= pKeyEnd Then pKey := PAnsiChar(Key);
    End;
  End;
500 MB + 9 Byte-Key

shmia = 2,3 sec
himi = 1,2 sec
(auf meiner 2,7 GHz-Krücke)
und wer Lust hat, bekommst bestimmt immernoch mehr raus, aber ob das soooooo nötig ist?

also Beides schon schnell genug
und ob man da wirklich noch 'ne ProgressBar braucht , selbst wenn man vermutlich nicht oft solche Datenmengen verschlüsseln wird


PS: das AnsiString <> String hat nix mit dem Tempo zu tun, sondern nur mit der Kompatibilität zu D2009+
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat