利用Dll实现通用密码验证框

王朝delphi·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

作者:夏青虫

---- 在我们编制Delphi应用程序,常常需要提供一个密码验证框,对应用程序的使用者进行身份核对。

如果能有一个通用的密码验证框,便能够为我们的工作节约不少的时间,更能使我们编制的程序小而快。

以下的程序为你提供了这样的一个DLL文件。

//文件名为CheckPasswordForm.dpr;

编译此文件生成CheckPasswordForm.dll

library CheckPasswordForm;

uses

XcqCheck in 'XcqCheck.pas' {XcqForm};

exports

CheckPassword name 'CheckPassword';//dll入口

begin

end.

//文件名为XcqCheck.pas

unit XcqCheck;

interface

uses

Windows, Messages, SysUtils, Classes,

Graphics, Controls, Forms, Dialogs,

StdCtrls, Mask, Menus;

type

TXcqForm = class(TForm)

XcqEdit: TMaskEdit;//密码输入框

OkBtn: TButton;

procedure OkBtnClick(Sender: TObject);

end;

var

XcqForm: TXcqForm;

Check: Boolean;//验证输入密码的正确性

function CheckPassword: Boolean;export;

//本dll文件的关键实现

implementation

{$R *.DFM}

procedure TXcqForm.OkBtnClick(Sender: TObject);

begin

if XcqEdit.Text = 'xcq' then

Check := True;

Close;

end;

function CheckPassword;export;

begin

Check := False;

XcqForm := TXcqForm.Create(Application);

//创建密码输入框

XcqForm.ShowModal;//显示密码输入框;

注意:不能用XcqForm.Show!

Result := Check;//返回给调用本dll的应用程序判断

XcqForm.Free;//释放本dll文件所占资源

end;

end.

---- 在调用以上dll中CheckPassword函数的应用程序中只需加入以下语句在implementation 后,

function CheckPassword: Boolean; external 'CheckPasswordForm.dll' name 'CheckPassword';在需

要进行密码验证的地方加入下面的条件语句就完全实现了密码验证的功能。

if CheckPassword then

begin

...//如XcqQuery.Open;

end;

---- 上面的程序只是一个简单的密码验证框,我们可以将密码以写入注册表或文件的方式保存,动态修

改,更可以利用算术算法对密码进行简单的加密等,使要保密的数据更安全。

---- 其实,上文中如何在dll中实现窗口让我走了不少弯路,我觉得此法对大家更有意义,这是避免程序

庞大的一种有效方法,不妨试试。

---- 以上程序在Windows98/Delphi3下编译通过。欢迎大家批评指正。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航