unit1.pas
来自「Delphi7开发的DES字符串加密解密例子,相信在程序里能用得到」· PAS 代码 · 共 73 行
PAS
73 行
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, StrUtils;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Label2: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
public
end;
//type
// TDynByteArray = array of byte;
const
SeedA = 5678; /// 常量,你可以修改
SeedB = 5432; /// 常量,你可以修改
var
Form1: TForm1;
implementation
{$R *.dfm}
/// 字符串
function Crypt(const s: string; Key: Word; const bEncrypt: boolean = True): string; overload;
var
i : integer;
ps, pr : ^byte;
begin
SetLength(Result, Length(s));
ps := @s[1];
pr := @Result[1];
for i := 1 to length(s) do
begin
pr^ := ps^ xor (Key shr 8);
if bEncrypt then
Key := (pr^ + Key) * SeedA + SeedB
else
Key := (ps^ + Key) * SeedA + SeedB;
pr := pointer(integer(pr) + 1);
ps := pointer(integer(ps) + 1);
end
end;
//加密
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit2.Text := Crypt(Edit1.Text,10);
end;
//解密
procedure TForm1.Button2Click(Sender: TObject);
begin
//Edit1.Text := DecStr(Edit2.Text);
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?