📄 unitestencrydll.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 + -