1

我在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;

任何人都知道如何扭转这个(再次加密)?

4

1 回答 1

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];
于 2012-12-03T20:45:05.027 回答