范文无忧网面试笔试简历简介

VFP中数据表加密简单算法

06月30日 编辑 fanwen51.com

[基于不同解码类型的8PSK软解调算法研究]【摘要】无线宽带系统常采用多进制调制来提高频谱利用率,同时根据应用的环境,选用卷积码或者Turbo码作为差错控制编码来对抗传输信道的噪声和衰落的影响。在信道解码的过程中,...+阅读

VFP中数据表加密简单算法

摘要:Microsoft Visual FoxPro(以下简称为VFP)作为小型数据库管理系统的杰出代表[1],用其进行小型数据库系统的设计比较简单、方便,但同时有一个比较突出的问题:VFP没有像其它数据库那样提供密码访问功能,数据保密性不强。

提出了一种可行的简单方法,对VFP中的数据表进行加密与解密,以期在实际应用中,加强数据的安全性。

关键词关键词:VFP;数据表;DBF;加密;解密;算法

1加密必要性

VFP中所有信息以二维表(DBF格式文件)形式组织并存放,由于VFP本身的数据保密功能较弱,没有提供密码访问的保护功能,因此利用VFP对数据进行管理时,面临一个较为严重的安全问题:任何用户只要进入数据库管理系统后均可以直接使用VFP自由地打开、修改甚至删除数据库系统中的数据表文件。

而数据表作为存储信息的主要数据文件,一旦被毫无限制地访问、修改,将对数据库系统造成致命的破坏。

因此,在利用VFP设计数据管理系统时,必须采取有效手段对数据库系统中的数据表进行加密与解密。

2加密基本原理

2.1DBF文件基本结构

DBF数据结构分为两部分:头记录(header record)部分和数据记录(data record)部分。

头记录从文件0位置开始,定义数据表的结构以及与其它数据有关的信息;数据记录部分紧接在头记录之后,包含了数据表的实际数据内容。

而VFP本身提供多个底层函数,可以方便灵活地将DBF文件以低级格式打开,并对文件头句柄进行访问和操作。

2.2加密、解密基本过程

数据加密就是把数据信息(即明文)转换为不可辨识的形式(即密文)的过程,目的是让非法人员不能识别,反之,将密文转变为明文的过程就是解密[2]。

目前对VFP中数据表进行加密常用的方式是:使用随机伪码加密、使用VFP本身的底层函数加密等,本文主要利用VFP提供的底层函数和异或算法对数据表加密和解密,此方法简单、利于实现(该方法后文中简称为FX算法)。

异或运算最大的特点就是A^B^B=A,也就是说,当对同一个数进行2次相同的异或运算时,结果还是这个数[3]。

因此利用异或算法的特征,可以使用VFP提供的底层函数打开数据表文件,并利用密钥对其进行首次异或运算得到密文,此时,数据表文件的数据已被改变。

因此,直接打开该表时,将会提示非正常表文件;解密时利用密钥对密文进行第二次异或运算,根据异或运算的特征,数据表文件在进行第二次异或运算后,将还原为初始数据(即还原为明文),此时可以正常打开并访问数据表。

基本过程如图1所示。

3加密模型实现

以设计一个较为简单的教务管理系统加密程序为例,教务系统的主要数据包括:学生表student.dbf、教师表teacher、成绩表score,均通过数据库admin.dbc建立连接,进行统一管理。

系统登录模块中通常为学生、教师、管理人员等多个不同的登录端口,如不采用适当的加密措施,造成的结果为:学生登录成功后,可以随意打开各个DBF数据表,甚至可以对其进行修改。

加密的主要目的为:管理员退出数据库管理系统时,调用相应的加密模块,利用指定的密钥对数据库中的数据表文件进行异或运算,将其转换为普通用户不能识别的密文,使其不能访问已加密的数据表;进入数据库管理系统时,再次调用解密模块,利用密钥将已加密的密文转换为明文,使用户能够正常访问数据表。

4结语

本文讨论的FX算法加密方式主要使用VFP本身的底层函数和异或运算对数据表进行加密,算法简单有效;密钥可以定期更换,且加密后的数据只需利用密钥通过简单的再次异或运算即可解密;该方法始终是在内存中进行的,故即使系统出错,重新启动系统也无妨,同时加密与解密模块的代码基本相同,无需分别定制单独的加密与解密模块,对于小型的VFP数据系统来说,是一种较为实用和有效的安全保护方法。

参考文献:

[1]王利.Visual FoxPro程序设计[M].北京:高等教育出版社,2006.

[2]段钢.加密与解密[M].北京:电子工业出版社,2003.

[3]车紫辉.VFP中DBF表的加密和解密方法[J].保定学院学报, 2010,23(3):5355.

延伸阅读:

论我国预算法制创新的财税论文小编给大家整理了一篇财税法规论文,希望能解决大家写论文下不了笔的问题。 【论文摘要】预算法制是财税法制的重要组成部分,完善预算法制是依法理财、实现法治财政的重要环节...

一种基于混沌约简算法的雷达故障诊断分析是不是还在为计算机毕业论文而烦恼?下面文书帮小编给你带来一篇计算机毕业论文,希望可以帮你排忧解难!摘要:在对粗糙集理论和混沌遗传算法的研究基础上,提出了一种基于知识依赖度...

点特征提取算法探讨大家是不是都还在为毕业论文烦恼呢?小编为大家整理了计算机毕业论文范文,希望对大家有所帮助! 摘要:在摄影测量中,有一些较为著名的点特征提取算子,如:Moree算子、Forsmer算子与H...

劳动法试用期辞退工资结算法网友提问:试用期内辞退工资应该怎么结算? 律师回答: 根据实际情况试用期辞退工资的结算时间应该从试用期工资离职时结算。如果辞退属于违法,可要求继续上班或要求赔偿金。 网友...

交通算法工程师求职简历模板导语:简历的整洁度,美观度,完整度决定了这是否是一份好简历,今天小编就为大家带来交通算法工程师求职简历模板,欢迎阅读! 交通算法工程师求职简历模板 教育背景 xxx大学 交通工程...

算法工程师个人简历模板个人简历不但要重点也好个人能力,在个人能力尽量写得自己是多样化的,不是针对职位会做而已,就是跟职位相关的工作也是会做。以下范文大全小编推荐高级算法工程师求职简历阅读。...

推荐阅读
图文推荐
栏目列表