Man könnte dafür ja einen Record, oder ein Array verwenden.
Wenn z.B. die Zeichenfolge nicht länger als 100 Zeichen ist, dann
Delphi-Quellcode:
Type T = Record
Data: packed Array[0..100] of Byte;
End;
oder
Type T = packed Array[0..100] of Byte;
Wenn du solchene Datenstruktur übergibst, dann wird ja nichts mehr abgeschnitten, da ja eine feste Größe angegeben ist.
es könnte z.B. so aussehn (ungetestet, aber es sollte funktionieren)
Delphi-Quellcode:
Var S: String;
R: packed Array[0..100] of Byte;
// S an R übergeben und verschlüsseln
Move(@R[0], @S[1], Length(S) + 1);
For i := 0 to 100 do
R[i] := R[i] xor Schlüssel[i];
// R entschlüsseln und an S übergeben
For i := 0 to 100 do
R[i] := R[i] xor Schlüssel[i];
S := PChar(@R[0]);