我在delphi中有以下代码来解密:
new_size := Length(Source) - 1;
for c := 24 to new_size - 1 do
begin
v := Source[c];
v := v - key;
v := v AND $FF;
x := v XOR (Source[c + 1]);
Source[c] := x;
end;
,其中
Source: Array of Byte;
Key: Byte;
任何人都想知道如何扭转此问题(再次加密)?
答案 0 :(得分:7)
此代码与问题中的代码相反:
for c := new_size - 1 downto 24 do
Source[c] := (Source[c] xor Source[c+1]) + key;
问题中的代码可以更简单地写成:
for c := 24 to new_size - 1 do
Source[c] := (Source[c] - key) xor Source[c+1];