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

 

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

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

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

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

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

           张三  99

           李四  100

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

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

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

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

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

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

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

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

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

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

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

转载于:https://www.cnblogs.com/QLongHappy/archive/2008/12/08/1350703.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值