一种数据库的加解密方法及装置的制造方法

文档序号:8319256阅读:306来源:国知局
一种数据库的加解密方法及装置的制造方法
【技术领域】
[0001]本发明实施例涉及通信技术领域,特别是涉及一种数据库的加解密方法及装置。
【背景技术】
[0002]通信设备如无线网络控制器(Rad1 Network Controller,RNC)需要管理工具如行管理与维护,对于网元RNC等通信设备上的数据,通常需要同步到本地数据库。
对于本地数据库,需要确保本地数据与网元上的数据保持一致,防止数据被非法修改,因此,对数据库进行加密保护显得十分重要。
[0003]现有的Oracle、SQL(—种专为数据库作业系统设计的程序语,Structure QueryLanguage)服务器等数据库安装和使用过于复杂,使用Access数据库,就可以完成数据库功能,并且使用方便,安装简单,对于!^!^!^这种对数据库要求较低的软件,使用Access就可以完成。但是,现有的Access数据库加密过于简单,普通的通过修改内存进行加密的方法又容易引起数据库文件损坏,导致工具无法使用。

【发明内容】

[0004]本发明提供一种数据库的加解密方法及装置,可以保证加载数据库文件的正确性,同时能够提升数据库的破解难度,提高加密后数据库的安全性。
[0005]根据本发明的第一方面,本发明提供一种数据库的加密方法,包括:将文件修改信息写入到待加密数据库中的预设位置,所述文件修改信息包括:与所述待加密数据库对应的版本信息、版本标志以及加密算法;根据所述与所述待加密数据库对应的版本信息以及版本标志计算加密密码;将所述加密密码写入到所述待加密数据库中的密码校验位置,所述密码校验位置用于存储所述待加密数据库的解密密码。
[0006]可选的,所述将文件修改信息写入到待加密数据库中的预设位置之前包括:获取当前待加密的数据库的校验码信息,所述校验码信息用于识别出所述数据库的标识以及所述数据库的版本。
[0007]可选的,所述待加密数据库为Access数据库。
[0008]可选的,所述预设位置为以第0x300个字节为起点的数据位置。
[0009]可选的,所述校验位置为数据库中的以第0x00000042个字节为起点的数据位置。
[0010]与现有技术相比,本发明具有以下优点:本发明提供的数据库的加密方法,将文件修改信息写入到待加密数据库中的预设位置,所述文件修改信息包括:与所述数据库对应的版本信息、标志以及加密算法,根据与带加密数据库对应的版本信息、标志计算加密密码,并将加密密码写入到数据库中的密码校验位置,能够避免数据库文件损坏,保证加载数据库文件的正确性,同时能够提升数据库的破解难度,提高加密后数据库的安全性。
[0011]根据本发明的第二方面,本发明提供一种数据库的解密方法,包括:从所述待解密数据库中的预设位置中读取加密密码;读取待解密数据库中的密码校验位置的内容,所述密码校验位置用于存储所述待加密数据库的解密密码;将所述加密密码与所述密码校验位置的内容比较,若一致,则根据二次加密算法得到密钥,并将所述密钥回填至所述密码校验位置。
[0012]可选的,所述读取文件修改信息之前包括:获取当前待解密数据库的校验码信息,所述校验码信息用于识别出所述待解密数据库的文件修改信息,所述文件修改信息包括待解密数据库的版本标识以及待解密数据库的版本信息。
[0013]可选的,所述待解密数据库为Access数据库。
[0014]可选的,所述预设位置为以第0x300个字节为起点的数据位置。
[0015]可选的,所述校验位置为待解密数据库中的以第0x00000042个字节为起点的数据位置。
[0016]与现有技术相比,本发明具有以下优点:本发明提供的数据库的解密方法,从待解密数据库中的预设位置中读取加密密码,读取待解密数据库中的密码校验位置的内容,将所述加密密码与所述密码校验位置的内容比较,若一致,则根据二次加密算法得到密钥,并将所述密钥回填至所述密码校验位置,才能打开数据库,从而能够提升数据库的破解难度,提高加密后数据库的安全性。
[0017]根据本发明的第三方面,本发明提供一种数据库的加密装置,包括:第一写入单元,用于将文件修改信息写入到待加密数据库中的预设位置,所述文件修改信息包括:与所述待加密数据库对应的版本信息、版本标志以及加密算法;计算单元,用于根据所述与所述待加密数据库对应的版本信息以及版本标志计算加密密码;第二写入单元,用于将所述加密密码写入到所述待加密数据库中的密码校验位置,所述密码校验位置用于存储所述待加密数据库的解密密码。可选的,所述符合预设条件的若干个检索信息为:在预设的时间段内输入的若干个检索信息;所述合并单元具体用于:将预设时间段内采集的若干个检索信息进行合并,生成复合检索信息。
[0018]可选的,本发明装置还包括:获取单元,用于获取当前待加密的数据库的校验码信息,所述校验码信息用于识别出所述数据库的标识以及所述数据库的版本。
[0019]与现有技术相比,本发明具有以下优点:本发明提供的数据库的加密装置,将文件修改信息写入到待加密数据库中的预设位置,所述文件修改信息包括:与所述数据库对应的版本信息、标志以及加密算法,根据与带加密数据库对应的版本信息、标志计算加密密码,并将加密密码写入到数据库中的密码校验位置,能够避免数据库文件损坏,保证加载数据库文件的正确性,同时能够提升数据库的破解难度,提高加密后数据库的安全性。
[0020]根据本发明的第四方面,本发明提供一种数据库的解密装置,包括:第一读取单元,用于从所述待解密数据库中的预设位置中读取加密密码;第二读取单元,用于读取待解密数据库中的密码校验位置的内容,所述密码校验位置用于存储所述待解密数据库的解密密码;比较单元,用于将所述解密密码与所述密码校验位置的内容比较,若一致,则根据二次解密算法得到密钥,并将所述密钥回填至所述密码校验位置。
[0021]可选的,还包括:获取单元,用于获取当前待解密数据库的校验码信息,所述校验码信息用于识别出所述待解密数据库的文件修改信息,所述文件修改信息包括待解密数据库的版本标识以及待解密数据库的版本信息。
[0022]可选的,所述待解密数据库为Access数据库。
[0023]可选的,所述预设位置为以第0x300个字节为起点的数据位置。
[0024]可选的,所述校验位置为数据库中的以第0x00000042个字节为起点的数据位置。
[0025]与现有技术相比,本发明具有以下优点:本发明提供的数据库的解密装置,从待解密数据库中的预设位置中读取加密密码,读取待解密数据库中的密码校验位置的内容,将所述加密密码与所述密码校验位置的内容比较,若一致,则根据二次加密算法得到密钥,并将所述密钥回填至所述密码校验位置,才能打开数据库,从而能够提升数据库的破解难度,提高加密后数据库的安全性。
【附图说明】
[0026]图1为现有技术的加密方法流程图;
[0027]图2为现有技术的数据库密码存储示意图;
[0028]图3为本发明的二次加密数据存储示意图;
[0029]图4为本发明的二次加密数据存储示意图;
[0030]图5为本发明实施例的加密方法流程图;
[0031]图6为本发明实施例的另一种加密方法流程图;
[0032]图7为发明实施例的加密装置结构示意图;
[0033]图8为发明实施例的另一种加密装置结构示意图;
[0034]图9为本发明实施例的解密方法流程图;
[0035]图10为本发明实施例的另一种解密方法流程图;
[0036]图11为发明实施例的解密装置结构示意图;
[0037]图12为发明实施例的另一种解密装置结构示意图;
[0038]图13为一种解密方法流程图。
【具体实施方式】
[0039]下面通过【具体实施方式】结合附图对本发明作进一步详细说明。
[0040]当前系统所使用的加密方式为Access数据库系统自带的加密方式,代码访问该数据库的流程如图1所示,包括步骤:传入数据库路径-准备连接数据库字符串-拼写密码-连接数据库-打开数据库。这种方式的缺点有:
[0041]I)、数据库源文件不能确定,无法保证该数据库文件是否为本软件提供的数据库,当密码被破解后,只需要拿一个密码相同的Access文件,就可以获取数据、修改数据。
[0042]2)、文件安全不能保证,普通的加密算法,容易被破解,对于Access数据库,密码校验位置为文件打开后第0x00000042位置,长度为40,如图2所示,设置的密码经过异或操作后,
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1