一個加密算法。
interface
USES
Classes;
const
C1 = 52845;
C2 = 22719;
function
Encrypt( S: String; Key: Word): String;
function
Decrypt( S: String; Key: Word): String;
implementation
function
Encrypt( S: String; Key: Word): String;
var
I: Integer;
j: Integer;
begin
Result := s;
for I := 1 to Length(S) do
begin
Result[I] := char(byte(S[I]) xor (Key shr 8));
Key := (byte(Result[I]) + Key) * C1 + C2;
end;
s:=Result;
Result:='';
for i:=1 to length(s) do
begin
j:=Integer(s[i]);
Result:=Result + Char(65+(j div 26))+Char(65+(j mod 26));
end;
end
;
function
Decrypt( S: String; Key: Word): String;
var
I: Integer;
j: Integer;
begin
result:='';
for i:=1 to (length(s) div 2) do
begin
j:=(Integer(s[2*i-1])-65)*26;
j:=j+(Integer(s[2*i])-65);
result:=result + Char(j);
end;
s:=result;
for I := 1 to Length(S) do
begin
Result[I] := char(byte(S[I]) xor (Key shr 8));
Key := (byte(S[I]) + Key) * C1 + C2;
end;
end
;
end
.
運行結果: