本发明专利技术提供了一种数据库数据加密、解密方法及装置,其中,所述加密方法包括:将数据以数据块进行缓存;将数据块进行压缩;对压缩后的数据块进行加密。由于加密是在数据库内核实现的,无需显示调用加密函数,也可使用数据库提供的加载工具进行批量加载,提高了数据库的性能。
【技术实现步骤摘要】
本专利技术属于数据库
,尤其是涉及一种数据库数据加密、解密方法及装置。
技术介绍
在大数据环境下,安全是一个容易被忽略的特性。在所有的大数据解决方案中,加密也是一个很少被提到的词。但在很多实际场景中,都有对数据加密的需求,而且越来越多的场景是需要加密的只是部分数据,及加密与非加密数据同时存储在同一张表中,这就对列级加密提出了需求。在常见的数据库中,加密都是通过使用加密函数来实现,即通过将原始数据调用加密函数生成加密数据,再将加密后的数据插入到数据库中,这种实现方式加密是在数据库内核之外实现的,而且需要用户通过显式地调用加密函数来实现,不方便使用。另外,由于是通过调用函数的方式,无法使用数据库提供的数据加载工具进行数据批量加载,性能低下。
技术实现思路
本专利技术实施例提供了一种数据库数据加密、解密方法及装置,以解决现有技术中数据加密方式无法实现批量加载的技术问题。第一方面,本专利技术实施例提供了一种数据库数据加密方法,包括:在建立表时,检查所述表的属性是否包括加密关键字;在所述表的属性中包括加密关键字时,将数据以数据块进行加密;将加密后的数据写入存储文件。进一步的,所述将数据以数据块进行加密,包括:将数据以数据块进行缓存;将数据块进行压缩;对压缩后的数据块进行加密。第二方面,本专利技术实施例还提供了一种数据库数据解密方法,包括:接收存储文件;按照预设的解密算法对数据块进行解密,获取解密后的数据;将解密后的数据提供给数据库上层。进一步的,所述按照预设的解密算法解密所述数据块,包括:调用预设的解密算法解密所述数据块;对解密后的数据块进行解压缩。第三方面,本专利技术实施例还提供了一种数据库数据加密装置,包括:检查单元,用于在建立表时,检查所述表的属性是否包括加密关键字;加密单元,用于在所述表的属性中包括加密关键字时,将数据以数据块进行加密;写入单元,用于将加密后的数据写入存储文件。进一步的,所述加密单元具体用于:将数据以数据块进行缓存;将数据块进行压缩;对压缩后的数据块进行加密。第四方面,本专利技术实施例还提供了一种数据库数据解密装置,包括:接收单元,用于接收存储文件;解密单元,用于按照预设的解密算法对所述数据块进行解密,获取解密后的数据;提供单元,用于将解密后的数据提供给数据库上层。进一步的,所述解密单元用于:调用预设的解密算法解密所述数据块;对解密后的数据块进行解压缩。本专利技术实施例提供的数据库数据加密、解密方法及装置,通过在数据进入数据库后,在数据库将数据实际写入存储文件之前,将数据以数据块为单位调用加密函数进行加密,然后再将加密后的数据写入存储文件中。由于加密是在数据库内核实现的,无需显示调用加密函数,也可使用数据库提供的加载工具进行批量加载,提高了数据库的性能。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例一提供的数据库数据加密方法的流程示意图;图2是本专利技术实施例二提供的数据库数据解密方法的流程示意图;图3是本专利技术实施例三提供的数据库数据加密装置的结构示意图;图4是本专利技术实施例四提供的数据库数据解密装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一图1是本专利技术实施例一提供的数据库数据加密方法的流程示意图,本实施例可适用于在数据库中数据显性加密的情况,该方法可以由数据库数据加密装置来执行,该装置可由软件/硬件方式实现,并可集成于数据库系统中。参见图1,所述数据库数据加密方法,包括:S110,在建立表时,检查所述表的属性是否包括加密关键字。在前端,修改创建表的语法,以支持指定加密关键字。示例性的,所述加密关键字为ENCRYPT。ENCRYPT关键字可以出现在表属性中,也可以出现在列属性中,分别对应表级及列级加密。将ENCRYPT属性保存至元数据中。S120,在所述表的属性中包括加密关键字时,将数据以数据块进行加密。相应的,在属性中包括加密关键字ENCRYPT时,在数据库将数据实际写入存储文件之前,将数据以数据块为单位调用加密函数进行加密,采用加密算法能够对数据进行有效的加密,示例性的,加密前的数据如下:0000000:5900 0000 0202 0000 0009 0000 000d 3928 Y.............9(0000010:a801 0000 000b 0000 0009 0000 0003 0000................0000020:0003 0000 000b 0000 0009 0000 0003 0000................0000030:0003 0000 0000 0000 0015 0000 0003 0000................0000040:0000 0300 0000 0300 0000 0300 0000 0000................0000050:6162 6365 6673 7364 66abcefssdf相应的,将上述数据进行加密后,0000000:5900 0000 0a02 0000 0009 0000 00f9 7dc2 Y.............本文档来自技高网...
【技术保护点】
一种数据库数据加密方法,其特征在于,包括:在建立表时,检查所述表的属性是否包括加密关键字;在所述表的属性中包括加密关键字时,将数据以数据块进行加密;将加密后的数据写入存储文件。
【技术特征摘要】
1.一种数据库数据加密方法,其特征在于,包括:在建立表时,检查所述表的属性是否包括加密关键字;在所述表的属性中包括加密关键字时,将数据以数据块进行加密;将加密后的数据写入存储文件。2.根据权利要求1所述的方法,其特征在于,所述将数据以数据块进行加密,包括:将数据以数据块进行缓存;将数据块进行压缩;对压缩后的数据块进行加密。3.一种数据库数据解密方法,其特征在于,包括:接收存储文件;按照预设的解密算法对所述数据块进行解密,获取解密后的数据;将解密后的数据提供给数据库上层。4.根据权利要求3所述的方法,其特征在于,所述按照预设的解密算法解密所述数据块,包括:调用预设的解密算法解密所述数据块;对解密后的数据块进行解压缩。5.一种数据库数据加密...
【专利技术属性】
技术研发人员:崔维力,武新,张清伟,
申请(专利权)人:天津南大通用数据技术股份有限公司,
类型:发明
国别省市:天津;12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。