CN110287208A - 数据库字段加密的方法和装置、存储介质 - Google Patents

数据库字段加密的方法和装置、存储介质 Download PDF

Info

Publication number
CN110287208A
CN110287208A CN201910448034.XA CN201910448034A CN110287208A CN 110287208 A CN110287208 A CN 110287208A CN 201910448034 A CN201910448034 A CN 201910448034A CN 110287208 A CN110287208 A CN 110287208A
Authority
CN
China
Prior art keywords
encryption
encrypted
packet
field
sql statement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910448034.XA
Other languages
English (en)
Inventor
张适石
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sankuai Online Technology Co Ltd
Original Assignee
Beijing Sankuai Online Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Sankuai Online Technology Co Ltd filed Critical Beijing Sankuai Online Technology Co Ltd
Priority to CN201910448034.XA priority Critical patent/CN110287208A/zh
Publication of CN110287208A publication Critical patent/CN110287208A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本公开涉及一种数据库字段加密的方法和装置、存储介质,用于解决相关技术中对数据库中敏感字段的加密过程容易产生遗漏、错误且十分耗时的技术问题。所述数据库字段加密的方法包括:在支持SQL的数据库持久层框架中***SQL语句时,调用加密别名包对所述SQL语句中待加密字段进行标记;调用加密处理包对标记后的待加密字段进行加密处理;执行所述SQL语句。

Description

数据库字段加密的方法和装置、存储介质
技术领域
本公开涉及信息安全技术领域,具体地,涉及一种数据库字段加密的方法和装置、存储介质。
背景技术
随着信息化进程的不断推进,信息资产成为了企业的核心资产之一,如何采用技术手段维护企业业务数据的安全性已成为企业普遍关注的问题。而作为数据存储和管理的核心部件,数据库***的安全性更是引起的广泛的重视。
发明内容
本公开提供一种数据库字段加密的方法和装置、存储介质,以解决相关技术中对数据库中敏感字段的加密过程容易产生遗漏、错误且十分耗时的技术问题。
为实现上述目的,本公开实施例的第一方面,提供一种数据库字段加密的方法,所述方法包括:
在支持SQL的数据库持久层框架中***SQL语句时,调用加密别名包对所述SQL语句中待加密字段进行标记;
调用加密处理包对标记后的待加密字段进行加密处理;
执行所述SQL语句。
结合第一方面,在第一方面的第一种可能的实现方式中,所述调用加密别名包对所述SQL语句中待加密字段进行标记,包括:
通过所述加密别名包中的加密类在xml中识别待加密字段;
在xml中识别出的待加密字段后增加标记代码。
结合第一方面,在第一方面的第二种可能的实现方式中,所述调用加密处理包对标记后的待加密字段进行加密处理,包括:
通过所述加密处理包中的通用加密处理类对待加密字段进行加密处理。
结合第一方面或者第一方面的第一种可能的实现方式或者第二种可能的实现方式,在第一方面的第三种可能的实现方式中,还包括:
将所述加密别名包和所述加密处理包封装到jar包以供其它***使用;其中,所述jar包设有接口。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,还包括:
将所述加密别名包和所述加密处理包封装到jar包以供其它***使用;其中,所述jar包设有接口。
本公开实施例的第二方面,提供一种数据库字段加密的装置,所述装置包括:
标记模块,用于在支持SQL的数据库持久层框架中***SQL语句时,调用加密别名包对所述SQL语句中待加密字段进行标记;
加密模块,用于调用加密处理包对标记后的待加密字段进行加密处理;
执行模块,用于执行所述SQL语句。
结合第二方面,在第二方面的第一种可能的实现方式中,所述标记模块包括:
识别子模块,用于通过所述加密别名包中的加密类在xml中识别待加密字段;
标记子模块,用于在xml中识别出的待加密字段后增加标记代码。
结合第二方面,在第二方面的第二种可能的实现方式中,所述加密模块还用于:
通过所述加密处理包中的通用加密处理类对待加密字段进行加密处理。
结合第二方面或者第二方面的第一种可能的实现方式或者第二种可能的实现方式,在第二方面的第三种可能的实现方式中,还包括:
封装模块,用于将所述加密别名包和所述加密处理包封装到jar包以供其它***使用;其中,所述jar包设有接口。
结合第二方面,在第二方面的第四种可能的实现方式中,所述标记模块还包括:
确认子模块,用于确认所述SQL语句中存在加密字段;
解密子模块,用于解密所述加密字段。
本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一项所述方法的步骤。
本公开实施例的第四方面,提供一种数据库字段加密的装置,包括:
存储器,其上存储有计算机程序;以及
处理器,用于执行所述存储器中的所述计算机程序,以实现上述第一方面中任一项所述方法的步骤。
采用上述技术方案,至少能够达到如下技术效果:
本公开通过在支持SQL的数据库持久层框架中分别调用加密别名包和加密处理包,对所述SQL语句中待加密字段进行标记和加密处理,由于加密别名包和加密处理包对待加密字段处理过程均在底层实现,不需要修改程序,避免直接改代码,避免了因漏改的情况而导致线上报错,安全并且高效实现数据库敏感字段加密,接入更快,解决了相关技术中对数据库中敏感字段的加密过程容易产生遗漏、错误且十分耗时的技术问题。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是本公开一示例性实施例示出的一种数据库字段加密的方法流程图。
图2是本公开一示例性实施例示出的另一种数据库字段加密的方法流程图。
图3是本公开一示例性实施例示出的另一种数据库字段加密的方法流程图。
图4是本公开一示例性实施例示出的另一种数据库字段加密的方法流程图。
图5是本公开一示例性实施例示出的一种数据库字段加密的装置框图。
图6是本公开一示例性实施例示出的一种数据库字段加密的装置的标记模块框图。
图7是本公开一示例性实施例示出的另一种数据库字段加密的装置框图。
图8是本公开一示例性实施例示出的另一种数据库字段加密的装置的标记模块框图。
图9是本公开一示例性实施例示出的一种数据库字段加密的装置框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
数据库***的安全性主要是在于敏感数据的机密性问题,其最有效手段就是进行加密。相关技术中,对敏感数据的加密方法是梳理敏感字段***和查询的代码块,依次进行修改,进行加解密。而相关技术中加密的方案是在service层(服务层)或者manager层(管理层)修改代码,容易产生遗漏导致线上错误,并十分耗时。
图1是本公开一示例性实施例示出的一种数据库字段加密的方法流程图,以解决相关技术中对数据库中敏感字段的加密过程容易产生遗漏、错误且十分耗时的技术问题。如图1所示,所述数据库字段加密的方法可以包括以下步骤:
S11,在支持SQL的数据库持久层框架中***SQL语句时,调用加密别名包对所述SQL语句中待加密字段进行标记。
S12,调用加密处理包对标记后的待加密字段进行加密处理。
S13,执行所述SQL语句。
本公开的技术方案可以基于Mybatis底层扩展功能实现,其中,MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以对配置和原生Map使用简单的XML或注解,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。
在步骤S11中,在支持SQL的数据库持久层框架中***SQL语句时,调用加密别名包对所述SQL语句中待加密字段进行标记。其中,所述加密别名包是设于所述持久层框架中,可以在持久层框架中被调用来识别出所述SQL语句中的待加密字段,进而对所述SQL语句中的所述待加密字段进行标记。
在所述SQL语句中待加密字段进行标记后,执行步骤S12,调用加密处理包对标记后的待加密字段进行加密处理。其中,所述加密处理包是设于所述持久层框架中,可以在持久层框架中被调用来对所述SQL语句中标记的待加密字段进行加密处理。所述加密处理包对待加密字段进行加密处理后,执行步骤S13,执行所述SQL语句。
本公开通过在支持SQL的数据库持久层框架中分别调用加密别名包和加密处理包,对所述SQL语句中待加密字段进行标记和加密处理,由于加密别名包和加密处理包对待加密字段处理过程均在底层实现,不需要修改程序,避免直接改代码,避免了因漏改的情况而导致线上报错,安全并且高效实现数据库敏感字段加密,接入更快,解决了相关技术中对数据库中敏感字段的加密过程容易产生遗漏、错误且十分耗时的技术问题。
值得说明的是,对于图1所示的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本公开所必须的。
图2是本公开一示例性实施例示出的一种数据库字段加密的方法流程图,以解决相关技术中对数据库中敏感字段的加密过程容易产生遗漏、错误比用且十分耗时的技术问题。如图2所示,所述数据库字段加密的方法可以包括以下步骤:
S21,在支持SQL的数据库持久层框架中***SQL语句时,通过所述加密别名包中的加密类在xml中识别待加密字段。
S22,在xml中识别出的待加密字段后增加标记代码。
S23,通过所述加密处理包中的通用加密处理类对待加密字段进行加密处理。
S24,执行所述SQL语句。
本公开的技术方案可以基于Mybatis底层扩展功能实现,其中,MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以对配置和原生Map使用简单的XML或注解,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。
在步骤S21中,在支持SQL的数据库持久层框架中***SQL语句时,调用加密别名包中的加密类在xml中识别待加密字段。其中,所述加密别名包是设于所述持久层框架中,可以在持久层框架中被调用来识别出所述SQL语句中的待加密字段,进而对所述SQL语句中的所述待加密字段进行标记。
在Mybatis中初始化SessionFactory时,同时初始化encryptAliasesPackage(加密别名包)和encryptHandlersPackage(加密处理包)两个属性。在***SQL语句时,首先,encryptAliasesPackage中的加密类(即Encrypt)用于在xml中识别加密字段;
在xml中识别出加密字段后,执行步骤S22,在xml中识别出的待加密字段后增加标记代码。比如,在xml中想要加密的字段后增加标记代码:javaType=“encrypt”,即可完成标记。
在所述SQL语句中待加密字段进行标记后,执行步骤S23,所述加密处理包中的通用加密处理类通过调用加密处理基类对待加密字段进行加密处理。其中,所述加密处理包是设于所述持久层框架中,可以在持久层框架中被调用来对所述SQL语句中标记的待加密字段进行加密处理。比如,可以通过encryptHandlersPackage(加密处理包)中的CommonEncryptHandler类(通用加密处理类),调用EncryptBaseTypeHandler<String>(加密处理基类)来实现待加密字段的加密。
所述加密处理包对待加密字段进行加密处理后,执行步骤S24,执行所述SQL语句。
本公开通过在支持SQL的数据库持久层框架中分别调用加密别名包和加密处理包,对所述SQL语句中待加密字段进行标记和加密处理,由于加密别名包和加密处理包对待加密字段处理过程均在底层实现,不需要修改程序,避免直接改代码,避免了因漏改的情况而导致线上报错,安全并且高效实现数据库敏感字段加密,接入更快,解决了相关技术中对数据库中敏感字段的加密过程容易产生遗漏、错误且十分耗时的技术问题。
值得说明的是,对于图2所示的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本公开所必须的。
图3是本公开一示例性实施例示出的一种数据库字段加密的方法流程图,以解决相关技术中对数据库中敏感字段的加密过程容易产生遗漏、错误且十分耗时的技术问题。如图3所示,所述数据库字段加密的方法可以包括以下步骤:
S31,在支持SQL的数据库持久层框架中***SQL语句时,通过所述加密别名包中的加密类在xml中识别待加密字段。
S32,在xml中识别出的待加密字段后增加标记代码。
S33,通过所述加密处理包中的通用加密处理类对待加密字段进行加密处理。
S34,执行所述SQL语句。
S35,将所述加密别名包和所述加密处理包封装到jar包以供其它***使用;其中,所述jar包设有接口。
本公开的技术方案可以基于Mybatis底层扩展功能实现,其中,MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以对配置和原生Map使用简单的XML或注解,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。
在步骤S31中,在支持SQL的持久层框架中***SQL语句时,调用加密别名包中的加密类在xml中识别待加密字段。其中,所述加密别名包是设于所述持久层框架中,可以在持久层框架中被调用来识别出所述SQL语句中的待加密字段,进而对所述SQL语句中的所述待加密字段进行标记。
在Mybatis中初始化SessionFactory时,同时初始化encryptAliasesPackage(加密别名包)和encryptHandlersPackage(加密处理包)两个属性。在***SQL语句时,首先,encryptAliasesPackage中的加密类(即Encrypt)用于在xml中识别加密字段;
在xml中识别出加密字段后,执行步骤S32,在xml中识别出的待加密字段后增加标记代码。比如,在xml中想要加密的字段后增加标记代码:javaType=“encrypt”,即可完成标记。
在所述SQL语句中待加密字段进行标记后,执行步骤S33,所述加密处理包中的通用加密处理类通过调用加密处理基类对待加密字段进行加密处理。其中,所述加密处理包是设于所述持久层框架中,可以在持久层框架中被调用来对所述SQL语句中标记的待加密字段进行加密处理。比如,可以通过encryptHandlersPackage(加密处理包)中的CommonEncryptHandler类(通用加密处理类),调用EncryptBaseTypeHandler<String>(加密处理基类)来实现待加密字段的加密。所述加密处理包对待加密字段进行加密处理后,执行所述SQL语句。
考虑到本公开适用所有***,可选地,本公开还可以执行步骤S35,将所述加密别名包和所述加密处理包封装到jar包以供其它***使用;其中,所述jar包设有接口。比如,将encryptHandlersPackage和encrptAliasesPackage两个包进行提取封装到单独的jar包,方便其它***使用。同时考虑到每个***用的加密方法不同,jar包只提供接口,真正加密方法定义在各***中,各个***可以通过jar包的接口将加密代码(即加密方法)注入到jar包中,以使jar包中的加密处理包根据注入的加密方法对待加密字段进行加密。
本公开通过将加密别名包和加密处理包封装到jar包中,进而可以能够使用所有***,使得不同的***都能使用本公开的加密方案,提高了用户体验。
值得说明的是,对于图3所示的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本公开所必须的。
图4是本公开一示例性实施例示出的一种数据库字段加密的方法流程图,以解决相关技术中对数据库中敏感字段的加密过程容易产生遗漏、错误且十分耗时的技术问题。如图1所示,所述数据库字段加密的方法可以包括以下步骤:
S41,在支持SQL的数据库持久层框架中***SQL语句时,确认所述SQL语句中存在加密字段。
S42,解密所述加密字段。
S43,通过所述加密别名包中的加密类在xml中识别待加密字段。
S44,在xml中识别出的待加密字段后增加标记代码。
S45,通过所述加密处理包中的通用加密处理类对待加密字段进行加密处理。
S46,执行所述SQL语句。
S47,将所述加密别名包和所述加密处理包封装到jar包以供其它***使用;其中,所述jar包设有接口。
考虑到数据库中有些老数据还是未加密,为了实现兼容,首先执行步骤S41,确认所述SQL语句中存在加密字段,即首先判断老数据是否已经加过密,如果加密则执行步骤S42,解密所述加密字段;否则,执行步骤S43。
具体的可以通过bean(类)中的两个属性isEncrypt和isHaveEncryptJudge来实现:其中,isEncrypt用于判断是否加密,为了防止灰度上线时,没发布的机器查出来已经加密的数据,可以第一次上线时设置false(解密但不加密),第二次上线改成true(加密又解密);isHaveEncryptJudge用于解密前判断是否已经加过密,灰度上线后,可以设置成false,解密时会判断是否已经加过密,没有加密则直接返回,实现解密的兼容,其中的逻辑可以是:一个字符串包含两个以上字母,就认为是加密过(考虑身份证可能包含一个字母)。
值得说明的是,对于图4所示的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本公开所必须的。
图5是本公开一示例性实施例示出的一种数据库字段加密的装置。如图5所示,所述数据库字段加密的装置300包括:
标记模块310,用于在支持SQL的数据库持久层框架中***SQL语句时,调用加密别名包对所述SQL语句中待加密字段进行标记;
加密模块320,用于调用加密处理包对标记后的待加密字段进行加密处理;
执行模块330,用于执行所述SQL语句。
可选地,如图6所示,所述标记模块310包括:
识别子模块311,用于通过所述加密别名包中的加密类在xml中识别待加密字段;
标记子模块312,用于在xml中识别出的待加密字段后增加标记代码。
可选地,所述加密模块320还用于:
通过所述加密处理包中的通用加密处理类对待加密字段进行加密处理。
可选地,如图7所示,所述数据库字段加密的装置300除了包括标记模块310、加密模块320和执行模块330外,还包括:
封装模块340,用于将所述加密别名包和所述加密处理包封装到jar包以供其它***使用;其中,所述jar包设有接口。
可选地,如图8所示,所述标记模块310除了包括识别子模块311和标记子模块312外,还包括:
确认子模块313,用于确认所述SQL语句中存在加密字段;
解密子模块314,用于解密所述加密字段。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项可选实施例所述数据库字段加密的方法步骤。
本公开还提供一种数据库字段加密的装置,包括:
存储器,其上存储有计算机程序;以及
处理器,用于执行所述存储器中的所述计算机程序,以实现上述任一项可选实施例所述数据库字段加密的方法步骤。
图9是根据一示例性实施例示出的一种数据库字段加密的装置400的框图。如图9所示,该装置400可以包括:处理器401,存储器402,多媒体组件403,输入/输出(I/O)接口404,以及通信组件405。
其中,处理器401用于控制该装置400的整体操作,以完成上述的数据库字段加密的方法中的全部或部分步骤。存储器402用于存储各种类型的数据以支持在该装置400的操作,这些数据例如可以包括用于在该装置400上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器402可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件403可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器402或通过通信组件405发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口404为处理器401和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件405用于该装置400与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件405可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,装置400可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的数据库字段加密的方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,例如包括程序指令的存储器402,上述程序指令可由装置400的处理器401执行以完成上述的数据库字段加密的方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

Claims (10)

1.一种数据库字段加密的方法,其特征在于,所述方法包括:
在支持SQL的数据库持久层框架中***SQL语句时,调用加密别名包对所述SQL语句中待加密字段进行标记;
调用加密处理包对标记后的待加密字段进行加密处理;
执行所述SQL语句。
2.根据权利要求1所述的方法,其特征在于,所述调用加密别名包对所述SQL语句中待加密字段进行标记,包括:
通过所述加密别名包中的加密类在xml中识别待加密字段;
在xml中识别出的待加密字段后增加标记代码。
3.根据权利要求1所述的方法,其特征在于,所述调用加密处理包对标记后的待加密字段进行加密处理,包括:
通过所述加密处理包中的通用加密处理类对待加密字段进行加密处理。
4.根据权利要求1至3中任一项所述的方法,其特征在于,还包括:
将所述加密别名包和所述加密处理包封装到jar包以供其它***使用;其中,所述jar包设有接口。
5.根据权利要求1所述的方法,其特征在于,所述调用加密别名包对所述SQL语句中待加密字段进行标记,还包括:
确认所述SQL语句中存在加密字段;
解密所述加密字段。
6.一种数据库字段加密的装置,其特征在于,所述装置包括:
标记模块,用于在支持SQL的数据库持久层框架中***SQL语句时,调用加密别名包对所述SQL语句中待加密字段进行标记;
加密模块,用于调用加密处理包对标记后的待加密字段进行加密处理;
执行模块,用于执行所述SQL语句。
7.根据权利要求6所述的装置,其特征在于,所述标记模块包括:
识别子模块,用于通过所述加密别名包中的加密类在xml中识别待加密字段;
标记子模块,用于在xml中识别出的待加密字段后增加标记代码。
8.根据权利要求6所述的装置,其特征在于,所述加密模块还用于:
通过所述加密处理包中的通用加密处理类对待加密字段进行加密处理。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至5中任一项所述方法的步骤。
10.一种数据库字段加密的装置,其特征在于,包括:
存储器,其上存储有计算机程序;以及
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1至5中任一项所述方法的步骤。
CN201910448034.XA 2019-05-27 2019-05-27 数据库字段加密的方法和装置、存储介质 Pending CN110287208A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910448034.XA CN110287208A (zh) 2019-05-27 2019-05-27 数据库字段加密的方法和装置、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910448034.XA CN110287208A (zh) 2019-05-27 2019-05-27 数据库字段加密的方法和装置、存储介质

Publications (1)

Publication Number Publication Date
CN110287208A true CN110287208A (zh) 2019-09-27

Family

ID=68002595

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910448034.XA Pending CN110287208A (zh) 2019-05-27 2019-05-27 数据库字段加密的方法和装置、存储介质

Country Status (1)

Country Link
CN (1) CN110287208A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111079188A (zh) * 2019-12-27 2020-04-28 苏州海管家物流科技有限公司 mybatis字段加密解密装置及加密解密***
CN111125224A (zh) * 2019-12-21 2020-05-08 广州鲁邦通物联网科技有限公司 一种在Java程序中实现数据库数据自动加密解密的方法和***
CN111552698A (zh) * 2020-04-21 2020-08-18 重庆富民银行股份有限公司 一种解决环境差异的sql版本控制***及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105022966A (zh) * 2015-07-21 2015-11-04 郭俊雄 数据库数据加密解密方法和***
CN107239476A (zh) * 2016-03-29 2017-10-10 上海琨视电子科技有限公司 一种轻量级sql数据库网站的开发方法
CN109284302A (zh) * 2018-08-10 2019-01-29 新华三大数据技术有限公司 数据处理方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105022966A (zh) * 2015-07-21 2015-11-04 郭俊雄 数据库数据加密解密方法和***
CN107239476A (zh) * 2016-03-29 2017-10-10 上海琨视电子科技有限公司 一种轻量级sql数据库网站的开发方法
CN109284302A (zh) * 2018-08-10 2019-01-29 新华三大数据技术有限公司 数据处理方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111125224A (zh) * 2019-12-21 2020-05-08 广州鲁邦通物联网科技有限公司 一种在Java程序中实现数据库数据自动加密解密的方法和***
CN111125224B (zh) * 2019-12-21 2021-07-16 广州鲁邦通物联网科技有限公司 一种在Java程序中实现数据库数据自动加密解密的方法和***
CN111079188A (zh) * 2019-12-27 2020-04-28 苏州海管家物流科技有限公司 mybatis字段加密解密装置及加密解密***
CN111079188B (zh) * 2019-12-27 2022-04-15 苏州海管家物流科技有限公司 mybatis字段加密解密装置及加密解密***
CN111552698A (zh) * 2020-04-21 2020-08-18 重庆富民银行股份有限公司 一种解决环境差异的sql版本控制***及方法

Similar Documents

Publication Publication Date Title
US10891384B2 (en) Blockchain transaction device and method
CN108781210A (zh) 具有可信执行环境的移动设备
CN109271798A (zh) 敏感数据处理方法及***
CN106997439A (zh) 基于TrustZone的数据加解密方法、装置及终端设备
CN110287208A (zh) 数据库字段加密的方法和装置、存储介质
CN103907308A (zh) 主机设备、半导体存储器设备以及认证方法
CN113010856A (zh) 一种动态非对称加解密的JavaScript代码混淆方法与***
CN102750497A (zh) 一种解密隐私内容的方法及装置
CN107196907A (zh) 一种安卓so文件的保护方法及装置
CN103971034A (zh) 一种保护Java软件的方法及装置
CN102799815B (zh) 一种安全加载程序库的方法和装置
CN105975867A (zh) 一种数据处理方法
CN103929312A (zh) 一种移动终端及其个人信息保护方法和***
CN103853943A (zh) 程序保护方法及装置
CN105653902B (zh) 软件注册方法和装置,注册码生成方法和装置
CN107423583B (zh) 一种软件保护设备重置方法及装置
CN107871066A (zh) 基于安卓***的代码编译方法及装置
CN100367144C (zh) 用于加密的应用程序安装的结构
CN108449322A (zh) 身份注册、认证方法、***及相关设备
CN108416224A (zh) 一种数据加解密方法及装置
EP2689367B1 (en) Data protection using distributed security key
CN109344656A (zh) 一种数据库的数据加密/解密方法、装置和设备
CN109977692B (zh) 数据处理方法和装置、存储介质及电子设备
CN110008724B (zh) 固态硬盘控制器安全加载方法、装置及存储介质
CN108234125A (zh) 用于身份认证的***和方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination