Da das Hütchen (^) in Java XOR darstellt (zumindest das was ich via Google herausbekommen habe) würde ich eher sagen es heißt so:
ausserdem würde ich mich an den allgemeinen sprachgebrauch halten und die zählschleife "t" durch "i" ersetzen.
Weiterhin kann man sich die Hilfsvariable x sparen. Nicht empfehlenswert ist ausserdem das benutzen von prevEncrypted als Integer, wenn man eigentlich nur mit Bytewerten herumspielt. Daher würd ich das auch noch auf byte ändern.
Was noch zu überlegen wäre (je nach logik) ist ob die Variable prevEncrypted wirklich global gebraucht wird. Wenn nicht ab in die Funktion und initialisieren
Delphi-Quellcode:
const
headerSize = 4;
keyIndex = 40;
var
sessionKey = array of Byte;
keyIndex : integer;
prevEncrypted : byte;
type
TPacket = array of Byte;
procedure encryptHeader(var packet : TPacket);
var
i : Integer;
begin
for i := 0 to headerSize - 1 do
begin
keyIndex := keyIndex mod Length(sessionKey);
packet[i] := (packet[i] XOR sessionKey[keyIndex]) + prevEncrypted;
prevEncrypted := packet[i];
Inc(keyIndex);
end;
end;
Gruß
Reli