unit
Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
const
XorKey: array [ 0 .. 7 ] of Byte = ($B2,$ 09 ,$AA,$ 55 ,$ 93 ,$6D,$ 84 ,$ 47 );
type
TForm1 = class (TForm)
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
function Encrypt(Str: string ): string ;
function Decrypt(Str: string ): string ;
end ;
var
Form1: TForm1;
implementation
{ $R *.dfm }
function TForm1.Encrypt(Str: string ): string ; // 加密算法
var
i,j:Integer;
begin
Result : = '' ;
j : = 0 ;
for i : = 1 to Length(Str) do
begin
Result : = Result + IntToHex(Byte(Str[i]) xor XorKey[j], 2 );
j : = (j + 1 ) mod 8 ;
end ;
end ;
function TForm1.Decrypt(Str: string ): string ; // 解密算法
var
i,j:Integer;
begin
Result : = '' ;
j : = 0 ;
for i : = 1 to Length(Str) div 2 do
begin
Result : = Result + Char(StrToInt( ' $ ' + Copy(Str,i * 2 - 1 , 2 )) xor XorKey[j]);
j : = (j + 1 ) mod 8 ;
end ;
end ;
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit2.Text : = Encrypt(Edit1.Text);
end ;
procedure TForm1.Button2Click(Sender: TObject);
begin
Edit1.Text : = Decrypt(Edit2.Text);
end ;
end .
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
const
XorKey: array [ 0 .. 7 ] of Byte = ($B2,$ 09 ,$AA,$ 55 ,$ 93 ,$6D,$ 84 ,$ 47 );
type
TForm1 = class (TForm)
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
function Encrypt(Str: string ): string ;
function Decrypt(Str: string ): string ;
end ;
var
Form1: TForm1;
implementation
{ $R *.dfm }
function TForm1.Encrypt(Str: string ): string ; // 加密算法
var
i,j:Integer;
begin
Result : = '' ;
j : = 0 ;
for i : = 1 to Length(Str) do
begin
Result : = Result + IntToHex(Byte(Str[i]) xor XorKey[j], 2 );
j : = (j + 1 ) mod 8 ;
end ;
end ;
function TForm1.Decrypt(Str: string ): string ; // 解密算法
var
i,j:Integer;
begin
Result : = '' ;
j : = 0 ;
for i : = 1 to Length(Str) div 2 do
begin
Result : = Result + Char(StrToInt( ' $ ' + Copy(Str,i * 2 - 1 , 2 )) xor XorKey[j]);
j : = (j + 1 ) mod 8 ;
end ;
end ;
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit2.Text : = Encrypt(Edit1.Text);
end ;
procedure TForm1.Button2Click(Sender: TObject);
begin
Edit1.Text : = Decrypt(Edit2.Text);
end ;
end .