德尔福反向解密功能

时间:2012-12-03 20:19:04

标签: delphi

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

任何人都想知道如何扭转此问题(再次加密)?

1 个答案:

答案 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];