下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、为应用程序添加 不知您是否曾为数据被人盗用而苦恼 有 套严密不知您是否因软件没的安全防护系统而不敢放心使用; 过数据加密不知您是否曾经费尽心机作但是对加密效果大不满意?话,Delphi 为您如果您曾有过诸如此类的圆惑的提供了个简单而出色的解决办法。这似乎是在吹嘘 Delphi 的功能, 但 Delphi 的所有版本无 例外 地提供了对其Paradox 数据库的口令设置, 设置过口令的 Paradox 数据库的数据也 被加密而无法用其它工具查看。 这 特性使得我们用 Delphi 提高应用程序的安全性变得简单易行。不过要说明的是: 因为电脑本方法所论的加密并非万无失,黑客们无所不在,他们可以轻易
2、地打破你的任何加密方法, 但就 一般人而言本文所论的加密方法就足够了。、首先, 权的用户不套软件的安全性包括对数据访问的限制。 未授能访问其中的某些数据或者根本不能进入应用程序。据此可以 设计个数据表,用来存储用户的级别、 用户的登录名称以及用户密码, 不妨将此表命名为 PARA.DBo PARA.DB 的结构如下:字段名 字段类型字段长度注释 Owner A20 应用程序名UserA10 用户名UserLevel A10 用户级别PasswordID A10 登录口令考虑到您开发的应用程序可能不止个,识别 PARA.DB所以Owner 字段用来所属的应用程序以防止个 PARA.DB 能适用于
3、所有应用程序: 后三个字段用来给用户设置使用权限。 所有的字段都十分重要, 但是如果您的 应用程序是单用户的、只需要个简单的口令的话则可以省略User、Userlevel 甚至Owner 字段而只留个登录口令字段PasswordID。一、 然后, 我们需要两个函数:1、GetPassword 读取用户的输入,并判断口令的正确性和用户 的级别。function GetPasswordBoolean 根据返回值来判断是否输入了正确口令 varPasswordForm: TPasswordForm; 口令登录屏幕beginResul t 二 FalsePasswordForm 二 TPassword
4、Form.Create(Self) ;if Passwordform. TablePara. fieldsO. asstring 二"then如果没有任何口令则不启动口令登录屏幕beginResul t 二 TruePasswordForm. Free;end elsetrywith PasswordForm do beginif ShowModal 二 mrOK thenif EditlnputPass. Text <TablePara.Fields3J.AsString thenApplication. MessageBox(' 密码错误 J'错误mb OK
5、 + mb i con stop)else beginResul t 二 TrueTable l.Close endfinallyPas凹'OrdForm. Free;end;end;2 、SetPassword 设置用户级别和登录口令。function SetPassword Boolean varChgpassform TChgpassform;beginResul t二 False;Chgpassform 二 TChgpassform. Create(Self)if Chgpassform. ShowModal 二 mrOK then beginWith TablePara do
6、 beign写入库中Edit;Fields2J.AsString 二 EditPasswordID. TextPostClose end;Resul t 二 True; Chgpassform. free;end;end;息,误。)(注:限于篇幅, 以上均为函数程序不 主若直接运行可能有三、为了不在每 们可以将这个应用程序中都重新写遍函数代码, 我两个函数放进个DLL士文件chkpword. dll并在chkpword. dpr的proJectsource 中作如下 尸明:exports GetPassword, SetPas凹'Ord在包含该函数体的1日1it中分别作如下声明func
7、tion GetPassword Boolean; export function SetPasswordBoolean; export四、在应用程序的有关uni t中作如下声明function GetPassword Boolean: far: external 'CHKPWORD'function SetPasswordBoolean: far: external 'CHKPWORD'则引用方法为unit unit名;usesuses说明function GetPassword Boolean far; external 'CHKPWORD'
8、beginif getpassword then没有设置口令或得到正确的口令后才执行程序中begin程序段代码或 SetPasswordend end事项忌、五、 注 主1、当 fg 用DataBase DeskTop码mypassword。在创建para. db的时候, 请注 主E、为其添加 密应用程序的proJect source 中或调用para. db 之 前Session.AddPassword('mypassword') ;来fg 必须用为para. db 作好开启准备,以免用户发现paradox 提供的登录对话框。2、用本方法所作的 制程序的时口 令是对大小写敏感的, 这一点请在编忌、。候予以充分的注 主若要避免大小写敏感请改写口 令判断代码为:UpperCase(EditlnputPass. Text)< > UpperCase(TablePara. fields3J.asstring)3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论