VFP中数据表加密简单算法探究

VFP中数据表加密简单算法探究摘要:MicrosoftVisualFoxPro(以下简称为VFP)作为小型数据库管理系统的杰出代表[1],用其进行小型数据库系统的设计比较简单、方便,但同时有一个比较突出的问题:VFP没有像其它数据库那样提供密码访问功能,数据保密性不强。提出了一种可行的简单方法,对VFP中的数据表进行加密与解密,以期在实际应用中,加强数据的安全性。关键词关键词:VFP;数据表;DBF;加密;解密;算法:TP312文献标识码:A:16727800(2014)0020061021加密必要性VFP中所有信息以二维表(DBF格式文件)形式组织并存放,由于VFP本身的数据保密功能较弱,没有提供密码访问的保护功能,因此利用VFP对数据进行管理时,面临一个较为严重的安全问题:任何用户只要进入数据库管理系统后均可以直接使用VFP自由地打开、修改甚至删除数据库系统中的数据表文件。而数据表作为存储信息的主要数据文件,一旦被毫无限制地访问、修改,将对数据库系统造成致命的破坏。因此,在利用VFP设计数据管理系统时,必须采取有效手段对数据库系统中的数据表进行加密与解密。2加密基本原理---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---2.1DBF文件基本结构DBF数据结构分为两部分:头记录(headerrecord)部分和数据记录(datarecord)部分。头记录从文件0位置开始,定义数据表的结构以及与其它数据有关的信息;数据记录部分紧接在头记录之后,包含了数据表的实际数据内容。而VFP本身提供多个底层函数,可以方便灵活地将DBF文件以低级格式打开,并对文件头句柄进行访问和操作。2.2加密、解密基本过程用VFP提供的底层函数打开数据表文件,并利用密钥对其进行首次异或运算得到密文,此时,数据表文件的数据已被改变。因此,直接打开该表时,将会提示非正常表文件;解密时利用密钥对密文进行第二次异或运算,根据异或运算的特征,数据表文件在进行第二次异或运算后,将还原为初始数据(即还原为明文),此时可以正常打开并访问数据表。基本过程如图1所示。3加密模型实现以设计一个较为简单的教务管理系统加密程序为例,教务系统的主要数据包括:学生表student,dbf、教师表teacher、成绩表score,均通过数据库admin,dbc建立连接,进行统一管理。系统登录模块中通常为学生、教师、管理人员等多个不同的登录端口,如不采用适当的加密措施,造成的结果为:学生登录成功后,可以随意打开各个DBF数据表,甚至可以对其进行修改。加密的主要目的为:管理员退出数据库管理系---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---统时,调用相应的加密模块,利用指定的密钥对数据库中的数据表文件进行异或运算,将其转换为普通用户不能识别的密文,使其不能访问已加密的数据表;进入数据库管理系统时,再次调用解密模块,利用密钥将已加密的密文转换为明文,使用户能够正常访问数据表。4结语本文讨论的FX算法加密方式主要使用VFP本身的底层函数和异或运算对数据表进行加密,算法简单有效;密钥可以定期更换,且加密后的数据只需利用密钥通过简单的再次异或运算即可解密;该方法始终是在内存中进行的,故即使系统出错,重新启动系统也无妨,同时加密与解密模块的代码基本相同,无需分别定制单独的加密与解密模块,对于小型的VFP数据系统来说,是一种较为实用和有效的安全保护方法。参考文献:[1]王利.VisualFoxPro程序设计[M].北京:高等教育出版社,2006.[2]段钢.加密与解密[M].北京:电子工业出版社,2003.[3]车紫辉.VFP中DBF表的加密和解密方法[J].保定学院学报,2010,23(3):5355.(责任编辑:杜能钢)---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?