一种数据库的加密、解密方法、装置、存储介质及终端制造方法及图纸

技术编号:19266740 阅读:30 留言:0更新日期:2018-10-27 04:12
本发明专利技术公开了一种数据库的加密、解密方法、装置、存储介质及终端,该方法包括:基于密钥对数据库的待加密字段进行加密;按照预定混淆方式对密钥进行混淆处理,并保存经过混淆处理后的密钥。本发明专利技术通过对数据库的字段进行加密,并对密钥进行混淆处理,使非法用户即便对移动终端进行破解并获取数据库内容,也因为无法获取正确的密钥,无法对加密后的数据库字段内容进行解密,从而实现了对数据库内容的保护,降低了应用程序运行的风险,提高了用户的使用安全。

【技术实现步骤摘要】
一种数据库的加密、解密方法、装置、存储介质及终端
本专利技术涉及移动通讯领域,特别是涉及一种数据库的加密、解密方法、装置、存储介质及终端。
技术介绍
随着移动终端使用的推广,各种应用程序(APP,Application)也在丰富着移动终端的功能,以满足用户的各种功能需求。数据库是APP文件中重要的组成部分,尤其是针对各中考试类、答题类、评测类APP等,对应的数据库中的内容更是需要进行重点保护的对象。现有移动终端中使用的数据库(如轻量级跨平台关系型数据库SQLITE)通常不具备加密功能,数据库字段内容全部为明文显示,无法对进行加密保护。当非法用户对移动终端进行破解并获取移动终端的超级管理员权限时,可通过管理工具导出数据库中所有数据,造成数据泄露,增大了应用程序运行的风险,严重影响了用户的使用安全。
技术实现思路
本专利技术提供一种数据库的加密、解密方法、装置、存储介质及终端,用以解决现有技术无法对应用程序数据库进行加密,易造成数据泄露的问题。为解决上述技术问题,一方面,本专利技术提供一种数据库的加密方法,应用于终端,包括:基于密钥对数据库的待加密字段进行加密;按照预定混淆方式对所述密钥进行混淆处理,并保存经过混淆处理后的密钥。进一步,所述保存经过混淆处理后的密钥,包括:将经过混淆处理后的密钥拆分为N个密钥部分,并将所述N个密钥部分分别保存至不同文件中,其中,N为大于或等于2的整数。进一步,在N等于2的情况下,所述将所述N个密钥部分分别保存至不同文件中,包括:将所述第一部分密钥保存在可读文件的预设位置;将所述第二部分密钥保存在动态链接库二进制文件SO符号表中。进一步,所述按照预定混淆方式对所述密钥进行混淆处理,并保存经过混淆处理后的密钥之后,还包括:将解密算法进行封装,其中,所述解密算法为与加密时采用的加密算法对应的解密算法;隐藏封装后的解密算法的入口函数,将所述入口函数通知具有指定签名的调用者。另一方面,本专利技术还提供一种数据库的解密方法,应用于终端,包括:获取按照预定混淆方式进行混淆处理后的密钥;对所述混淆处理后的密钥进行反混淆处理,得到密钥;基于所述密钥对加密后的数据库字段进行解密。进一步,所述获取按照预定混淆方式进行混淆处理后的密钥,包括:从不同的文件中分别获取N个密钥部分,其中,N为大于或等于2的整数;根据所述N个密钥部分得到混淆处理后的密钥。进一步,所述获取按照预定混淆方式进行混淆处理后的密钥之前,还包括:对调用者的签名进行校验,在所述调用者的签名通过校验的情况下,获取封装后的解密算法;对所述封装后的解密算法进行解封,得到解密算法,其中,所述解密算法为与加密时采用的加密算法对应的解密算法。另一方面,本专利技术还提供一种数据库的加密装置,包括:加密模块,用于基于密钥对数据库的待加密字段进行加密;混淆模块,用于按照预定混淆方式对所述密钥进行混淆处理,并保存经过混淆后的密钥。进一步,所述混淆模块,具体用于:将经过混淆后的密钥拆分为N个密钥部分,并将所述N个密钥部分分别保存至不同文件中,其中,N为大于或等于2的整数。进一步,在N等于2的情况下,所述混淆模块,具体用于:将所述第一部分密钥保存在可读文件的预设位置;将所述第二部分密钥保存在动态链接库二进制文件SO符号表中。进一步,还包括:封装模块,用于将解密算法进行封装,其中,所述解密算法为与加密时采用的加密算法对应的解密算法;隐藏模块,用于隐藏封装后的解密算法的入口函数,将所述入口函数通知具有指定签名的调用者。另一方面,本专利技术还提供数据库的解密装置,包括:获取模块,用于获取按照预定混淆方式进行混淆处理后的密钥;反混淆模块,用于对所述混淆处理后的密钥进行反混淆处理,得到密钥;解密模块,用于基于所述密钥对加密后的数据库字段进行解密。进一步,所述获取模块,具体用于:从不同的文件中分别获取N个密钥部分,其中,N为大于或等于2的整数;根据所述N个密钥部分得到混淆处理后的密钥。进一步,其特征在于,还包括:校验模块,用于对调用者的签名进行校验,在所述调用者的签名通过校验的情况下,获取封装后的解密算法;解封模块,用于对封装后的解密算法进行解封,得到解密算法,其中,所述解密算法为与加密时采用的加密算法对应的解密算法。另一方面,本专利技术还提供一种存储介质,存储有计算机程序,其特征在于,计算机程序被处理器执行时实现上述的数据库的加密方法的步骤。另一方面,本专利技术还提供一种存储介质,存储有计算机程序,其特征在于,计算机程序被处理器执行时实现上述的数据库的解密方法的步骤。另一方面,本专利技术还提供一种终端,至少包括存储器、处理器,存储器上存储有计算机程序,处理器在执行存储器上的计算机程序时实现上述的数据库的加密方法的步骤。另一方面,本专利技术还提供一种终端,至少包括存储器、处理器,存储器上存储有计算机程序,处理器在执行存储器上的计算机程序时实现上述的数据库的解密方法的步骤。本专利技术通过对数据库的字段进行加密,并对密钥进行混淆处理,使非法用户即便对移动终端进行破解并获取数据库内容,也因为无法获取正确的密钥,无法对加密后的数据库字段内容进行解密,从而实现了对数据库内容的保护,降低了应用程序运行的风险,提高了用户的使用安全。附图说明图1是本专利技术第一实施例中数据库的加密方法流程图;图2是本专利技术第二实施例中数据库的加密方法流程图;图3是本专利技术第三实施例中数据库的加密方法流程图;图4是本专利技术第四实施例中数据库的解密方法流程图;图5是本专利技术第五实施例中数据库的解密方法流程图;图6是本专利技术第六实施例中数据库的解密方法流程图;图7是本专利技术第七实施例中数据库的加密装置的结构示意图;图8是本专利技术第八实施例中数据库的加密装置的结构示意图;图9是本专利技术第九实施例中数据库的解密装置的结构示意图;图10是本专利技术第十实施例中数据库的解密装置的结构示意图。具体实施方式为了解决现有技术无法对应用程序数据库进行加密,易造成数据泄露的问题,本专利技术提供了一种数据库的加密、解密方法、装置、存储介质及终端,以下结合附图以及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不限定本专利技术。本专利技术的第一实施例提供了一种数据库的加密方法,该方法应用于终端,其流程图如图1所示,主要包括步骤S101和S102:S101,基于密钥对数据库的待加密字段进行加密。现有技术中应用程序对应的数据库中保存的字段内容均为明文显示,当移动终端被破解,非法用户可轻易获取到数据库中的明文内容,造成数据库内容泄露。在本实施例中,基于密钥通过预先设置的加密算法对数据库中的待加密字段进行加密,使待加密字段的内容在数据库中保存的格式为二进制流的密文形式,并将加密后的数据库内置在对应的应用程序中。通过上述方式,使非法用户即使可以通过破解移动终端获取数据库文件,也无法获取到以明文形式显现的字段内容,起到了保护数据库内容的作用。具体地,数据库的待加密字段可以为数据库中主要的核心字段,如编号、主体、具体内容等字段,也可以根据数据库对应的应用程序的类型,设置不同的待加密字段,如对于通讯录,待加密字段可设置为联系人名称和联系方式,对于答题类APP,待加密字段可设置为题目内容、选项内容和正确答案,对于需要进行用户登录的APP,待加密字段可设置为用户名、密码等字本文档来自技高网...

【技术保护点】
1.一种数据库的加密方法,应用于终端,其特征在于,包括:基于密钥对数据库的待加密字段进行加密;按照预定混淆方式对所述密钥进行混淆处理,并保存经过混淆处理后的密钥。

【技术特征摘要】
1.一种数据库的加密方法,应用于终端,其特征在于,包括:基于密钥对数据库的待加密字段进行加密;按照预定混淆方式对所述密钥进行混淆处理,并保存经过混淆处理后的密钥。2.如权利要求1所述的加密方法,其特征在于,所述保存经过混淆处理后的密钥,包括:将经过混淆处理后的密钥拆分为N个密钥部分,并将所述N个密钥部分分别保存至不同文件中,其中,N为大于或等于2的整数。3.如权利要求2所述的加密方法,其特征在于,在N等于2的情况下,所述将所述N个密钥部分分别保存至不同文件中,包括:将所述第一部分密钥保存在可读文件的预设位置;将所述第二部分密钥保存在动态链接库二进制文件SO符号表中。4.如权利要求1至3中任一项所述的加密方法,其特征在于,所述按照预定混淆方式对所述密钥进行混淆处理,并保存经过混淆处理后的密钥之后,还包括:将解密算法进行封装,其中,所述解密算法为与加密时采用的加密算法对应的解密算法;隐藏封装后的解密算法的入口函数,将所述入口函数通知具有指定签名的调用者。5.一种数据库的解密方法,应用于终端,其特征在于,包括:获取按照预定混淆方式进行混淆处理后的密钥;对所述混淆处理后的密钥进行反混淆处理,得到密钥;基于所述密钥对加密后的数据库字段进行解密。6.如权利要求5所述的解密方法,其特征在于,所述获取按照预定混淆方式进行混淆处理后的密钥,包括:从不同的文件中分别获取N个密钥部分,其中,N为大于或等于2的整数;根据所述N个密钥部分得到混淆处理后的密钥。7.如权利要求5或6所述的解密方法,其特征在于,所述获取按照预定混淆方式进行混淆处理后的密钥之前,还包括:对调用者的签名进行校验,在所述调用者的签名通过校验的情况下,获取封装后的解密算法;对所述封装后的解密算法进行解封,得到解密算法,其中,所述解密算法为与加密时采用的加密算法对应的解密算法。8.一种数据库的加密装置,其特征在于,包括:加密模块,用于基于密钥对数据库的待加密字段进行加密;混淆模块,用于按照预定混淆...

【专利技术属性】
技术研发人员:陈萌弓晓东
申请(专利权)人:北京五八信息技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1