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

📄 rc_rijndael_main.pas

📁 Rijndael algorithm修正了CBC下BUG的版本(有源代码)工作在:D5。作者:Sergey Kirichenko。
💻 PAS
字号:
unit rc_rijndael_main;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons,
  rc_codecs,    {MIME encode/decode}
  rc_rndcrypt   {Rijndael Extended API}
  ;

type
  TForm1 = class(TForm)
    ePlainText: TEdit;
    eCipherText: TEdit;
    lplaintext: TLabel;
    lciphertext: TLabel;
    Label3: TLabel;
    eKey: TEdit;
    btEncrypt: TBitBtn;
    btDecrypt: TBitBtn;
    btClose: TBitBtn;
    procedure FormCreate(Sender: TObject);
    procedure eKeyExit(Sender: TObject);
    procedure ePlainTextChange(Sender: TObject);
    procedure btEncryptClick(Sender: TObject);
    procedure btDecryptClick(Sender: TObject);
    procedure btCloseClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
var
  i: integer;
begin
  randomize;
  eKey.Text:= '';
  for i:= 1 to (_KEYLength div 8) do
    eKey.Text:= eKey.Text+format('%.2X',[random(255)]);
end;

procedure TForm1.eKeyExit(Sender: TObject);
begin
  eKey.Text:= ExpandKey(eKey.Text,_KEYLength);
end;

procedure TForm1.btEncryptClick(Sender: TObject);
begin
  eCipherText.Text:= rc_Encode(EnCryptString(ePlainText.Text,eKey.Text));
end;

procedure TForm1.btDecryptClick(Sender: TObject);
begin
  ePlainText.Text:= DeCryptString(rc_Decode(eCipherText.Text),eKey.Text);
end;

procedure TForm1.ePlainTextChange(Sender: TObject);
begin
  lplaintext.caption:= format('plaintext (%d):',[length(eplaintext.text)]);
  lciphertext.caption:= format('MIME ciphertext (%d):',[length(rc_Decode(eciphertext.text))]);
end;

procedure TForm1.btCloseClick(Sender: TObject);
begin
  Close;
end;

end.

⌨️ 快捷键说明

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