首页 > 数据库 > mysql教程 > 基于Access打造安全快速的应用数据程序

基于Access打造安全快速的应用数据程序

WBOY
发布: 2016-06-07 15:42:58
原创
1243 人浏览过

对于一般的桌面软件来说,使用 Access 来进行工程数据或者其他数据存储是一种很常见的处理方式,然后 Access 加密破解技术满天飞,如何保护你的数据? Access 有两种整体加密的方法: 1 )加密码 2 )访问授权,这里不作为讲解的内容介绍,因为采用这两种方

 

对于一般的桌面软件来说,使用Access来进行工程数据或者其他数据存储是一种很常见的处理方式,然后Access加密破解技术满天飞,如何保护你的数据?

    Access有两种整体加密的方法:1)加密码 2)访问授权,这里不作为讲解的内容介绍,因为采用这两种方式都可以较容易的破解。我这里介绍一种较为简单并且实用的方法。

    首先定位一下解决什么问题?

    使用Access存储数据,解决数据安全问题,要能够支持数据快速查询,能够支持SQL查询。

    简单举个例子:班级的学生得分:

           张三  99

           李四  100

    我要求能够查询学生成绩在 60~100分之间的学生列表,但是我又不希望这个数据别人能够不经过我的系统直接看到(实际应用会有这样的需求),怎么办?  

    这里面有两种需求:模糊名称,不让对方看到。

    我想起了二战时的电报破解的方式,老外们把常用的文章中的字母挨个统计一下,得到字母abc等的比例,按照高比例去替换密电得到明文,早期还真是一对一个准,呵呵。这种方式挺好,你不妨给自己一个对照表,混淆一遍,让破解者先来个甜点,容易点的。这样如果使用SQL查询你只需要转换一下即可,你的数据层抽象一下即可,对应用程序完全透明。

    然后仅仅上述方式,我相信不能满足很多需求,我们知道很多情况下,信息的重要程度是有差别的,比如上面的例子,我认为分数重要,那么把分数藏起来,即使有人拿到,如果看不到分数也很郁闷。

    如何藏?加密?不错,采用加密的方式。针对关键字段进行加密,使用DESRES等算法加密。

    但是加密后如何支持SQL查询?

    我们可以采用扩展函数来处理。这里就介绍了。

    介绍另一种方式:我称之为暗度陈仓,比如我对分数进行DES加密,这个算法加密后的数据是完全没有啥规则的,不具有查询的可能性,我总不能挨个解密,进行数据比对吧?

    这样做,太慢了,如果你的数据较少或者时间要求不高的话,也可以。但是分析一下,可以考虑牺牲一下空间,增加一个Ord字段,在加密前对分数进行排序,这样当查询时可以简单的使用二分查找即可判断出你的数据位置,简单而高效的解决你的数据安全问题。

    关键是思路,搞清楚这个,实现就很简单了。

    基于这个思路,我可以在这上面构建一个数据Schema层,用来封装数据访问,对上层应用完全透明,加密解密完全自动完成。

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板