⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 emluator.pas

📁 AES加密解密程序(开发语言delphi)
💻 PAS
字号:

unit Emluator;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Buttons, StrUtils, ComCtrls;

type
  TFormEmluator = class(TForm)
    Label1: TLabel;
    Label23: TLabel;
    page: TPageControl;
    IMUTATE: TTabSheet;
    Panel3: TPanel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Label24: TLabel;
    Edit13: TEdit;
    Edit14: TEdit;
    BitBtn1: TBitBtn;
    Edit15: TEdit;
    Edit16: TEdit;
    BitBtn2: TBitBtn;
    Edit17: TEdit;
    BitBtn3: TBitBtn;
    Panel1: TPanel;
    Label2: TLabel;
    Label7: TLabel;
    Label6: TLabel;
    Label8: TLabel;
    Label4: TLabel;
    Label3: TLabel;
    Label11: TLabel;
    Edit1: TEdit;
    Edit6: TEdit;
    Edit5: TEdit;
    Edit7: TEdit;
    Edit3: TEdit;
    Button2: TButton;
    Button3: TButton;
    Edit2: TEdit;
    Button1: TButton;
    Panel2: TPanel;
    Label5: TLabel;
    Label10: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Edit4: TEdit;
    Edit8: TEdit;
    Edit9: TEdit;
    Edit10: TEdit;
    Button4: TButton;
    Button5: TButton;
    Edit11: TEdit;
    Edit12: TEdit;
    ControlBar1: TControlBar;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FormEmluator: TFormEmluator;

implementation
uses aesunit;

{$R *.dfm}

//*************************************************************************************************************
//*************************************************************************************************************
//仿真程序各按钮程序
//
procedure TFormEmluator.Button1Click(Sender: TObject);
var
 i:integer;
 ss:string;
begin
  ss:='';
//  k:=Random(100000000);
  ss:=ss+IntToStr(Random(100000000));
  for i:=0 to 6
   do ss:=ss+IntToStr(Random(100000000));
  Edit2.Text:=copy(ss,1,32);
  Edit10.Text:=Edit2.Text;
end;

procedure TFormEmluator.Button2Click(Sender: TObject);
var
 l1:integer;
// st1,st2,st3:string;
begin


  l1:=StrToInt(Edit6.Text);

  if ((l1=12) or (l1=16) or (l1=20)) then
  begin
   Edit3.Text := aes(copy(Edit5.Text, 1,l1), copy(Edit2.Text,1,32), StrToInt(Edit7.text)); //Rounds(Edit1.Text, 12, Edit3.Text,0);
   Edit9.Text:=Edit3.Text;
  end;
  if l1=32 then
  begin
   Edit3.Text := aes(copy(Edit1.Text,1,32),copy(Edit2.Text,1,l1),2);
   Edit9.Text:=Edit3.Text;
  end;
end;


procedure TFormEmluator.Button3Click(Sender: TObject);
var
  l1,l2:integer;
begin
  l1:=StrToInt(Edit6.Text);
  if l1=12 then
    begin
      l2:=l1-6;
      Edit5.Text:=AES(Copy(Edit1.Text,1,6),Copy(Edit1.Text,7,6),2)+copy(Edit1.Text,7,l2);
    end
  else if ((l1=16) or (l1=20)) then
    begin
      l2:=l1-8;
      Edit5.Text:=AES(Copy(Edit1.Text,1,8),Copy(Edit1.Text,9,l2),2)+copy(Edit1.Text,9,l2);
    end;

end;

procedure TFormEmluator.Button4Click(Sender: TObject);
begin
  Edit4.Text:=InAES(copy(Edit9.Text,1,StrToInt(Edit11.text)), copy(Edit10.Text,1,32), StrToInt(Edit12.text));
end;

procedure TFormEmluator.Button5Click(Sender: TObject);
var
  l1,l2:integer;
begin
  l1:=StrToInt(Edit11.Text);
  if l1=12 then
  begin
    l2:=l1-6;
    Edit8.Text:=InAES(Copy(Edit4.Text,1,6),Copy(Edit4.Text,7,l2),2)+copy(Edit4.Text,7,l2);
  end;
  if ((l1=16) or (l1=20)) then
  begin
    l2:=l1-8;
    Edit8.Text:=InAES(Copy(Edit4.Text,1,8),Copy(Edit4.Text,9,l2),2)+copy(Edit4.Text,9,l2);
  end;
end;

procedure TFormEmluator.BitBtn1Click(Sender: TObject);

begin
  Edit14.Text := KeyDistribution (PKeyLicence, PAllotLicence, Edit13.Text, Edit17.Text);
end;

procedure TFormEmluator.BitBtn2Click(Sender: TObject);
var
Number : integer;
begin
  if copy(Edit14.Text,1,1)='E' then begin ShowMessage('未分配电表密钥!请先分配电表密钥!'); exit; end;
  Number := StrToInt(Edit15.Text);
  Edit16.Text := DynamicKey (Edit13.Text, Edit14.Text, Number);
  Edit2.Text:=Edit16.Text;
  edit10.Text:=Edit2.Text;
end;

procedure TFormEmluator.BitBtn3Click(Sender: TObject);
var
  len : integer;
begin
  Random (StrToInt(copy(Edit17.Text,1,10)));
  PKeyLicence := '';
  PAllotLicence := '';
  for len := 1 To 255 do
  begin
    PKeyLicence := PKeyLicence + IntToStr(Random (10));
  end;
  for len := 1 To 255 do
    PAllotLicence := PAllotLicence + IntToStr(Random(10));
end;


//*************************************************************************************************************
//*************************************************************************************************************


end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -