对数据库中数据进行加解密的方法

文档序号:6576019阅读:650来源:国知局
专利名称:对数据库中数据进行加解密的方法
技术领域
本发明涉及信息技术,尤其涉及一种对数据库中数据进行加解密的方法。
背景技术
在现有的数据库开发中,系统一般都是将数据明码存放在数据库中,这样一旦数据库 被侵入,数据没有任何安全可言。

发明内容
本发明的目的是克服上述现有技术中数据明码存储的问题,提供一种对数据库中数据 进行加解密的方法,在该方法中,数据的加解密操作均在客户端内存中完成,网络中的数 据和数据库的静态数据均是加密的数据,在保证数据安全的同时,不会给数据库服务器增 加额外的负担。
本发明的原理是在访问数据库的客户端设置数据加密模块和数据解密模块,当进行数 据库数据变更保存时,客户端程序启动数据加密模块中的加密程序,对客户端内存数据进 行加密,加密后返回给客户端进行变更保存;当进行数据库数据读取时,客户端启动数据 解密模块中的解密程序,对加密数据进行解密后交给客户端读取。
在本发明提出的对数据库中数据进行加解密的方法中,数据变更保存操作包括下列步

a. 客户端处理程序启动数据加密模块,将内存数据交给数据加密模块进行加密处理, 之后返回给客户端程序;
b. 客户端程序将加密后的数据进行变更保存到数据库中。
本发明提出的对数据库中数据进行解密的方法中,数据读取操作包括下列步骤
c. 客户端处理程序将数据读取到客户端内存中,启动数据解密模块中的解密程序, 对内存数据进行解密操作,之后将解密数据再交回给客户端程序;
d. 客户端程序将解密后的数据进行显示操作。 与现有技术相比,本发明具有以下优点
1、 将数据在客户端进行加解密操作,避免了传输过程和数据库访问过程中存在的不 安全隐患;
2、 数据操作过程中对网络数据进行加密,既使传输过程中数据被截获,也无法获取 数据的真是意义。


图1是本发明加密过程的流程图; 图2是本发明解密过程的流程图。
具体实施例方式
如图1所示,本发明在访问数据库的客户端设置数据加密模块和解密模块,当进行数 据库数据变更保存时,执行下列步骤
a. 客户端处理程序启动数据加密模块,将内存数据交给数据加密模块进行加密处理, 之后返回给客户端程序;
b. 客户端程序将加密后的数据进行变更保存到数据库中。 如图2所示,数据读取操作时执行下列步骤
C.客户端处理程序将数据读取到客户端内存中,启动数据解密模块中的解密程序, 对内存数据进行解密操作,之后将解密数据再交回给客户端程序; d.客户端程序将解密后的数据进行显示操作。
在一较佳实施例中,本发明使用数据库服务器的机器特征值T对数据进行加密。数据 进行加密时启动数据加密模块,数据加密模块获取数据库服务器的机器特征值T,以T为 参数,调用加密算法,对数据加密;数据解密时,启动数据解密模块,数据解密模块获取 数据库服务器的机器特征值T,以T为参数,调用解密算法,对数据进行解密。
在上述较佳实例中,数据加解密模块获取数据库服务器机器特征值T的方式,可以有
两种 一种是在安装加解密的客户端通过配置文件配置T,供加解密模块读取;另一种是,
在一可以获得到T的任何位置装置一中间模块M,当数据加解密模块进行数据加解密操作 时,首先向模块M发出获取T的请求,由模块M对发出请求的真伪进行判断后,动态地将
T返回给数据加解密模块;具体实现时,可以根据安全级别的要求进行选择。
这种使用数据库服务器机器特征值T的加密方式,可以做到只有同时拥有数据库服务 器的机器特征值T和相应的解密模块才能正确解密数据,从而不但防止外部黑客对数据的 窃取,同时也能彻底防止内部人员通过数据库管理系统提供的各种数据导出、数据备份等 功能将数据带走,在本数据库服务器以外的机器上导入、恢复使用。
上述实施例中,所述的机器特征码T可以是机器的硬盘串号、CUP序列号、网卡物理地 址等一切可以取得到的机器特征码的一种或多种组合,可以是这些组合的简单字符拼凑, 也可以经过复杂加密运算后的结果。
本发明还可以以机器特征码以外的其它方式进行加密。
虽然上面结合实施例对本发明进行了详细的说明,但本领域技术人员上述说明启迪下 可以做出多种变化,这些变化应包含在本发明权利要求书所要求保护的范围之内。
权利要求
1、一种对数据库中数据进行加解密的方法,其特征在于在客户端设置加密模块和解密模块,当进行数据加密操作时执行下列步骤a. 客户端处理程序启动数据加密模块,将内存数据交给数据加密模块进行加密处理,之后返回给客户端程序;b. 客户端程序将加密后的数据进行变更保存到数据库中。当进行数据读取操作时执行下列步骤c. 客户端处理程序将数据读取到客户端内存中,启动数据解密模块中的解密程序,对内存数据进行解密操作,之后将解密数据再交回给客户端程序;d. 客户端程序将解密后的数据进行显示操作。
2、 如权利要求1所述的加解密的方法,其特征在于所述步骤a中,加密模块采用机器特征值对数据进行加解密,对数据进行加密时执行下列步骤e. 启动数据加密模块,加密模块自动读取机器的特征码T;f. 数据加密模块用特征码T为参数,调用加密算法,对数据进行加密运算,产生一个加密过的数据D1;g. 将上述加密数据存储在用户端内存中。对数据进行解密时,执行下列步骤h. 当进行数据恢复时,启动数据解密模块,自动读取当前机器的特征码T;i. 当获得机器特征码T后,数据解密模块首先调用解密算法,对加密数据D1进行还原。
3、 如权利要求2所述的加解密的方法,其特征在于所述的机器特征码T可以是 机器的硬盘串号、CUP序列号、网卡物理地址或它们的组合。
全文摘要
本发明公开了一种对数据库中数据进行加解密的方法,该方法在访问数据库的客户端设置一数据加解密模块,当进行数据库数据变更保存时,客户端程序启动数据加解密模块中的加密程序,对客户端内存数据进行加密,加密后返回给客户端进行变更保存;当进行数据库数据读取时,客户端启动数据加解密模块中的解密程序,对加密数据进行解密后交给客户端读取。
文档编号G06F17/30GK101477574SQ20091010508
公开日2009年7月8日 申请日期2009年1月16日 优先权日2009年1月16日
发明者尹立东, 王东卫 申请人:深圳市迈科龙电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1