Hier eine Funktion für die XOR-Verschlüsselung.
Das Ergebnis ist ein String mit binären Daten (auch Hex $0).
Ruft man die Funktion ein 2. Mal auf entsteht wieder der Orginaltext (was im Prinzip der Umkehrbarkeit von XOR liegt).
Für die Übertragung per
TCP/
IP muss dem Empfänger über ein Längenwort
mitgeteilt werden wie lange die verschlüsselten Daten sind.
Delphi-Quellcode:
function StringXorCrypt(const text, key:Ansistring):Ansistring;
var
i, j, keylen : Integer;
begin
SetLength(Result, length(text));
j := 1;
keylen := Length(key);
for i := 1 to Length(text) do
begin
Result[i] := AnsiChr(ord(text[i]) xor ord(key[j]));
Inc(j);
if j > keylen then j := 1;
end;
end;