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

📄 unitestencrydll.pas

📁 本文将介绍 JDesktop Integration Components (JDIC)
💻 PAS
字号:
{
------------------------------------------------------------------
=  Reg.dll ---- 共享软件加密函数库                               =
=  Copyright (c) 2002-2003 liangs Studio, All rights reserved    =
=  Created 2003/08/31 by liangs                                  =
=  Version: 3.2                                                  =
=  Homepage: http://liangs99.myetang.com                         =
=  Email: liang_sheng@163.net                                    =
------------------------------------------------------------------

------------------------------------------------------------------
=  uniTestEncrydll.pas ---- Demo for Delphi7                     =
=  Copyright (c) 2002-2003 DreamRing Studio, All rights reserved =
=  Created 2003/09/04 by dingdangy(梦叮当)                       =
=  Version: 3.2                                                  =
=  Homepage: http://www.dreamring.9126.com                       =
=  Email: dingdangy@163.com(梦叮当)                              =
------------------------------------------------------------------
}

unit uniTestEncryDll;

interface

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

type
  TfrmMain = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    grpGetHardDiskId: TGroupBox;
    edtHardDiskId: TLabeledEdit;
    btnGetHardDiskId: TButton;
    TabSheet2: TTabSheet;
    grpMD5: TGroupBox;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    TabSheet5: TTabSheet;
    PageControl2: TPageControl;
    TabSheet8: TTabSheet;
    TabSheet9: TTabSheet;
    TabSheet6: TTabSheet;
    PageControl3: TPageControl;
    TabSheet10: TTabSheet;
    TabSheet11: TTabSheet;
    TabSheet12: TTabSheet;
    TabSheet13: TTabSheet;
    grpGetDllVersion: TGroupBox;
    grpBlowFish: TGroupBox;
    grpSecret16: TGroupBox;
    grpSHA: TGroupBox;
    grpStringFun1: TGroupBox;
    grpStringFun2: TGroupBox;
    grpRSA: TGroupBox;
    grpCRCFileCheck: TGroupBox;
    grpFileEnDe: TGroupBox;
    grpBase64: TGroupBox;
    grpCRC32: TGroupBox;
    edtMD5In: TLabeledEdit;
    edtMD5Out: TLabeledEdit;
    btnMD5: TButton;
    edtBlowFishIn: TLabeledEdit;
    edtBlowFishOut: TLabeledEdit;
    btnBlowFishEn: TButton;
    edtBlowFishKey: TLabeledEdit;
    btnBlowFishDe: TButton;
    edtSHAIn: TLabeledEdit;
    edtSHAOut: TLabeledEdit;
    btnSHA: TButton;
    edtSecret16In: TLabeledEdit;
    edtSecret16Key: TLabeledEdit;
    edtSecret16Out: TLabeledEdit;
    btnSecret16: TButton;
    edtStringFun1In: TLabeledEdit;
    edtStringFun1Key: TLabeledEdit;
    edtStringFun1Out: TLabeledEdit;
    btnStringFun1De: TButton;
    btnStringFun1En: TButton;
    edtStringFun2In: TLabeledEdit;
    edtStringFun2Key: TLabeledEdit;
    edtStringFun2Out: TLabeledEdit;
    btnStringFun2En: TButton;
    btnStringFun2De: TButton;
    edtRSAN_Str: TLabeledEdit;
    edtRSAD_Str: TLabeledEdit;
    edtRSAOut: TLabeledEdit;
    btnRSAEn: TButton;
    btnRSADe: TButton;
    edtRSAIn: TLabeledEdit;
    cboRSAMode: TComboBox;
    lblRSAMode: TLabel;
    edtDllVersion: TLabeledEdit;
    btnGetDllVersion: TButton;
    dlgOpen: TOpenDialog;
    edtCRCFilename: TLabeledEdit;
    btnBrower2: TButton;
    edtCRCFileCheckOut: TLabeledEdit;
    btnCRCFileCheck: TButton;
    edtInputFileName: TLabeledEdit;
    btnBrower3: TButton;
    edtOutputFileName: TLabeledEdit;
    btnBrower4: TButton;
    btnFileEncrypt: TButton;
    btnFileDecrypt: TButton;
    dlgSave: TSaveDialog;
    edtFileEncryptKey: TLabeledEdit;
    edtBase64In: TLabeledEdit;
    edtBase64Out: TLabeledEdit;
    btnBase64En: TButton;
    btnBase64De: TButton;
    edtCRC32In: TLabeledEdit;
    edtCRC32Out: TLabeledEdit;
    btnCRC32: TButton;
    TabSheet14: TTabSheet;
    grpGetMainboardId: TGroupBox;
    edtMainboardId: TLabeledEdit;
    btnGetMainboardId: TButton;
    TabSheet7: TTabSheet;
    grpDes: TGroupBox;
    edtDesIn: TLabeledEdit;
    edtDesKey: TLabeledEdit;
    edtDesOut: TLabeledEdit;
    btnDesDecrypt: TButton;
    btnDesEncrypt: TButton;
    procedure btnGetHardDiskIdClick(Sender: TObject);
    procedure btnMD5Click(Sender: TObject);
    procedure btnBlowFishEnClick(Sender: TObject);
    procedure btnBlowFishDeClick(Sender: TObject);
    procedure btnSHAClick(Sender: TObject);
    procedure btnSecret16Click(Sender: TObject);
    procedure btnStringFun1EnClick(Sender: TObject);
    procedure btnStringFun1DeClick(Sender: TObject);
    procedure btnStringFun2EnClick(Sender: TObject);
    procedure btnStringFun2DeClick(Sender: TObject);
    procedure btnRSADeClick(Sender: TObject);
    procedure btnRSAEnClick(Sender: TObject);
    procedure btnGetDllVersionClick(Sender: TObject);
//    procedure btnMD5FileCheckClick(Sender: TObject);
    procedure btnBrower2Click(Sender: TObject);
    procedure btnCRCFileCheckClick(Sender: TObject);
    procedure btnBrower3Click(Sender: TObject);
    procedure btnBrower4Click(Sender: TObject);
    procedure btnFileEncryptClick(Sender: TObject);
    procedure btnFileDecryptClick(Sender: TObject);
    procedure btnBase64EnClick(Sender: TObject);
    procedure btnBase64DeClick(Sender: TObject);
    procedure btnCRC32Click(Sender: TObject);
    procedure btnGetMainboardIdClick(Sender: TObject);
    procedure btnDesEncryptClick(Sender: TObject);
    procedure btnDesDecryptClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmMain: TfrmMain;

implementation

{$R *.dfm}

procedure TfrmMain.btnGetHardDiskIdClick(Sender: TObject);
//获取磁盘序列号
begin
  GetHardDiskId;
  edtHardDiskId.Text := Return;
end;

procedure TfrmMain.btnMD5Click(Sender: TObject);
//MD5 加密
begin
  MD5Encrypt(PChar(edtMD5In.Text),length(edtMD5In.Text));
  edtMD5Out.Text := Return;
end;

procedure TfrmMain.btnBlowFishEnClick(Sender: TObject);
//BlowFish 加密
begin
  BlowFishEncrypt(PChar(edtBlowFishIn.Text),PChar(edtBlowFishKey.Text));
  edtBlowFishOut.Text := Return;
end;

procedure TfrmMain.btnBlowFishDeClick(Sender: TObject);
//BlowFish 解密
begin
  BlowFishDecrypt(PChar(edtBlowFishOut.Text), PChar(edtBlowFishKey.Text));
  edtBlowFishIn.Text := Return;
end;

procedure TfrmMain.btnSHAClick(Sender: TObject);
//SHA 加密
begin
  SHAEncrypt(PChar(edtSHAIn.text), length(edtSHAIn.Text));
  edtSHAOut.Text := Return;
end;

procedure TfrmMain.btnSecret16Click(Sender: TObject);
//Secret16 加密,待加密字符串和加密密钥长度均必须为16位
begin
  Secret16Encrypt(PChar(edtSecret16In.Text), PChar(edtSecret16Key.Text));
  edtSecret16Out.Text := Return;
end;

procedure TfrmMain.btnStringFun1EnClick(Sender: TObject);
//StringFun1 加密
begin
  EncryptStringFun1(PChar(edtStringFun1In.Text), PChar(edtStringFun1Key.Text));
  edtStringFun1Out.Text := Return;
end;

procedure TfrmMain.btnStringFun1DeClick(Sender: TObject);
//StringFun1 解密
begin
  DecryptStringFun1(PChar(edtStringFun1Out.Text), PChar(edtStringFun1Key.Text));
  edtStringFun1In.Text := Return;
end;

procedure TfrmMain.btnStringFun2EnClick(Sender: TObject);
//StringFun2 加密
begin
  EncryptStringFun2(PChar(edtStringFun2In.Text), PChar(edtStringFun2Key.Text));
  edtStringFun2Out.Text := Return;
end;

procedure TfrmMain.btnStringFun2DeClick(Sender: TObject);
//StringFun2 解密
begin
  DecryptStringFun2(PChar(edtStringFun2Out.Text), PChar(edtStringFun2Key.Text));
  edtStringFun2In.Text := Return;
end;

procedure TfrmMain.btnRSAEnClick(Sender: TObject);
//RSA 加密
var
  Mode: Integer;
begin
  Mode := 0;
  case StrToInt(cboRSAMode.Text) of
  128: Mode := 0;
  256: Mode := 1;
  512: Mode := 2;
  1024: Mode := 3;
  end;
  RSAEncrypt(PChar(edtRSAIn.Text), PChar(edtRSAD_Str.Text), PChar(edtRSAN_Str.Text), Mode);
  edtRSAOut.Text := Return;
end;

procedure TfrmMain.btnRSADeClick(Sender: TObject);
//RSA 解密
var
  Mode: Integer;
begin
  Mode := 0;
  case StrToInt(cboRSAMode.Text) of
  128: Mode := 0;
  256: Mode := 1;
  512: Mode := 2;
  1024: Mode := 3;
  end;
  RSADecrypt(PChar(edtRSAOut.Text), PChar(edtRSAN_Str.Text), Mode);
  edtRSAIn.Text := Return;
end;


procedure TfrmMain.btnGetDllVersionClick(Sender: TObject);
//获取当前 Reg.dll 的版本号
begin
  GetDllVersion;
  edtDllVersion.Text := Return;
end;

procedure TfrmMain.btnBrower2Click(Sender: TObject);
//打开需要 CRC 文件校验的文件
begin
  dlgOpen.Execute;
  edtCRCFilename.Text := dlgOpen.FileName;
end;

procedure TfrmMain.btnCRCFileCheckClick(Sender: TObject);
//CRC 文件校验
begin
  CRCFileCheck(PChar(edtCRCFilename.Text));
  edtCRCFileCheckOut.Text := Return;
end;

procedure TfrmMain.btnBrower3Click(Sender: TObject);
//打开需要加密或者解密的文件
begin
  dlgOpen.Execute;
  edtInputFileName.Text := dlgOpen.FileName;
end;

procedure TfrmMain.btnBrower4Click(Sender: TObject);
//指定加密或解密后文件的存储路径及文件名
begin
  dlgSave.Execute;
  edtOutputFileName.Text := dlgSave.FileName;
end;

procedure TfrmMain.btnFileEncryptClick(Sender: TObject);
//文件加密
begin
  FileEncrypt(PChar(edtInputFileName.Text), PChar(edtOutputFileName.Text), PChar(edtFileEncryptKey.Text));
  ShowMessage(Return);
end;

procedure TfrmMain.btnFileDecryptClick(Sender: TObject);
//文件解密
begin
  FileDecrypt(PChar(edtOutputFileName.Text), PChar(edtInputFileName.Text), PChar(edtFileEncryptKey.Text));
  ShowMessage(Return);
end;

procedure TfrmMain.btnBase64EnClick(Sender: TObject);
//Base64 加密
begin
  Base64Encode(PChar(edtBase64In.Text));
  edtBase64Out.Text := Return;
end;

procedure TfrmMain.btnBase64DeClick(Sender: TObject);
//Base64 解密
begin
  Base64Decode(PChar(edtBase64Out.Text));
  edtBase64In.Text := Return;
end;

procedure TfrmMain.btnCRC32Click(Sender: TObject);
//CRC32 校验
begin
  CRC32(PChar(edtCRC32In.Text), length(edtCRC32In.Text));
  edtCRC32Out.Text := Return;
end;

procedure TfrmMain.btnGetMainboardIdClick(Sender: TObject);
//获取主板序列号
begin
  GetMainBoardId;
  edtMainboardId.Text := Return;
end;

procedure TfrmMain.btnDesEncryptClick(Sender: TObject);
//Des 加密
begin
  DesEncrypt(PChar(edtDesIn.Text), PChar(edtDesKey.Text));
  edtDesOut.Text := Return;
end;

procedure TfrmMain.btnDesDecryptClick(Sender: TObject);
//Des 解密
begin
  DesDecrypt(PChar(edtDesOut.Text), PChar(edtDesKey.Text));
  edtDesIn.Text := Return;
end;

end.

⌨️ 快捷键说明

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