1. Захорить значение ключом.
2. Рульнуть на N битов влево.
Декодирование:
1. Рульнуть значение на N битов вправо
2. Захорить результат ключом.
Итого:
Код: Выделить всё
Procedure Coding(var B: PByteArray; Size: Integer);
var X:Integer;
V:Byte;
begin
For X:=0 to Size-1 do
begin
V := B[X] Xor Key;
B[X] := (V shl 3) or (V shr 5);
end;
end;
Код: Выделить всё
Procedure DeCoding(var B: PByteArray; Size: Integer);
var X:Integer;
V:Byte;
begin
For X:=0 to Size-1 do
begin
V := B[X];
B[X] := ((V shr 3) or (V shl 5)) xor Key;
end;
end;