基于hive数据仓库的敏感字加密方法及装置、存储介质与流程

文档序号:20350173发布日期:2020-04-10 22:56阅读:1280来源:国知局
基于hive数据仓库的敏感字加密方法及装置、存储介质与流程

本发明涉及数据加密技术领域,尤其涉及一种基于hive数据仓库的敏感字加密方法及装置、存储介质。



背景技术:

在数据仓库建设过程中,数据安全扮演着重要角色,因为隐私或敏感数据的泄露,会对数据主体(客户,员工和公司)的财产、名誉、人身安全、以及合法利益造成严重损害。现在常用的保护敏感数据的方式是数据脱敏,具体指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。这样可以使数据本身的安全等级降级,就可以在开发、测试和其它非生产环境以及外包或云计算环境中安全地使用脱敏后的真实数据集。然而,现有的hive数据仓库是通过脱敏规则进行数据的变形,实现敏感隐私数据的保护,容易被破解,且使用现有脱敏规则进行敏感数据变换后不一定能进行还原,影响加密数据在开发与测试过程中正常运行。



技术实现要素:

本发明实施例提供一种基于hive数据仓库的敏感字加密方法及装置、存储介质,可以提高敏感字加密的安全性,便于对加密后的密文解密,确保加密数据在开发与测试过程中正常运行。

本发明实施例第一方面提供了一种基于hive数据仓库的敏感字加密方法,可包括:

生成加密密钥;

生成初始化向量;

采用加密函数对加密密钥、初始化向量以及待加密的敏感字符串进行预处理,得到对应的二进制数组;

采用base64对二进制数据进行编码得到最终的加密字符串。

进一步的,上述方法还包括:

根据hive数据仓库中udf函数的开发规则将加密字符串的生成过程封装成aesencrytudf类。

进一步的,加密函数为aesctr加密函数。

进一步的,加密密钥为128bit的密钥key,初始化向量为128bit的向量iv。

本发明实施例第二方面提供了一种基于hive数据仓库的敏感字加密装置,可包括:

密钥生成模块,用于生成加密密钥;

向量生成模块,用于生成初始化向量;

数据处理模块,用于采用加密函数对加密密钥、初始化向量以及待加密的敏感字符串进行预处理,得到对应的二进制数组;

加密字符生成模块,用于采用base64对二进制数据进行编码得到最终的加密字符串。

进一步的,装置还包括:

类封装模块,用于根据hive数据仓库中udf函数的开发规则将加密字符串的生成过程封装成aesencrytudf类。

进一步的,加密函数为aesctr加密函数。

进一步的,加密密钥为128bit的密钥key,初始化向量为128bit的向量iv。

本发明实施例第三方面提供了一种计算机设备,该设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述方面所述的基于hive数据仓库的敏感字加密方法。

本发明实施例第四方面提供了一种计算机存储介质,该计算机存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述方面所述的基于hive数据仓库的敏感字加密方法。

在本发明实施例中,通过使用hive的udf开发基于aes的对称加密算法加载到hivesql函数中,并使用sql函数对数据表中敏感字段进行加密,提高了敏感字加密的安全性,由于使用对称加密算法进行加密便于对加密后的密文解密,确保了加密数据在开发与测试过程中正常运行。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种基于hive数据仓库的敏感字加密方法的流程示意图;

图2是本发明实施例提供的另一种基于hive数据仓库的敏感字加密方法的流程示意图;

图3是本发明实施例提供的一种基于hive数据仓库的敏感字加密装置的结构示意图;

图4是本发明实施例提供的一种计算机设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含,术语“第一”和“第二”等仅是为了区别命名,并不代表数字的大小或者排序。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。

本发明实施例中,基于hive数据仓库的敏感字加密方法可以应用于计算机设备中,该计算机设备可以是电脑或者智能手机,也可以是其它具备计算处理能力的电子设备。

如图1所示,基于hive数据仓库的敏感字加密方法至少可以包括以下几个步骤:

s101,生成加密密钥。

具体的,加密装置可以生成128bit的加密密钥key。

s102,生成初始化向量。

具体的,加密装置可以生成128bit的初始化向量iv。

s103,采用加密函数对加密密钥、初始化向量以及待加密的敏感字符串进行预处理,得到对应的二进制数组。

具体实现中,装置可以将加密密钥key、初始化向量iv以及待加密的敏感字符串ss作为参数,传入aes(advancedencryptionstandard,对称分组密码)的ctr模式加密函数得到二进制数组。

s104,采用base64对二进制数据进行编码得到最终的加密字符串。

具体实现中,装置采用base64对二进制数据进行编码得到最终的加密字符串。其中,base64是一种基于64个可打印字符来表示二进制数据的表示方法。

进一步的,装置可以根据hive数据仓库中udf函数的开发规则将加密字符串的生成过程封装成aesencrytudf类。其中,hive是基于hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为mapreduce任务进行运行。udf(user-defined-function)函数为用户自定义的函数。

下面以对hive中test_src表的info字段进行加密为例说明本申请中加密方法的执行过程:

1、生成sql加密函数aes_encrypt

createtemporaryfunctionaes_encryptasaesencrytudf;

2、对info字段加密

selectaes_encrypt(info)fromtest_src。

图2位本申请的另一种基于hive数据仓库的敏感字加密方法的流程示意图,具体包括以下步骤:生成128bit密钥key——生成128bit初始化向量iv——调用aesctr加密函数——使用base64进行编码——生成hiveudf加密类aesencrytudf。

需要说明的是,本实施例中各步骤的具体实现过程可以参见上述方法实施例中的描述,此处不再赘述。

在本发明实施例中,通过使用hive的udf开发基于aes的对称加密算法加载到hivesql函数中,并使用sql函数对数据表中敏感字段进行加密,提高了敏感字加密的安全性,由于使用对称加密算法进行加密便于对加密后的密文解密,确保了加密数据在开发与测试过程中正常运行。

下面将结合附图3,对本发明实施例提供的基于hive数据仓库的敏感字加密装置进行详细介绍。需要说明的是,附图3所示的敏感字加密装置,用于执行本发明图1和图2所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明图1和图2所示的实施例。

请参见图3,为本发明实施例提供了一种基于hive数据仓库的敏感字加密装置的结构示意图。如图3所示,本发明实施例的敏感字加密装置10可以包括:密钥生成模块101、向量生成模块102、数据处理模块103、加密字符生成模块104和类封装模块105。

密钥生成模块101,用于生成加密密钥。

向量生成模块102,用于生成初始化向量。

数据处理模块103,用于采用加密函数对加密密钥、初始化向量以及待加密的敏感字符串进行预处理,得到对应的二进制数组。

加密字符生成模块104,用于采用base64对二进制数据进行编码得到最终的加密字符串。

类封装模块105,用于根据hive数据仓库中udf函数的开发规则将加密字符串的生成过程封装成aesencrytudf类。

可选的,加密函数为aesctr加密函数。

可选的,加密密钥为128bit的密钥key,初始化向量为128bit的向量iv。

需要说明的是,本实施例中各模块的执行过程可以参见上述方法实施例中的描述,此处不再赘述。

在本发明实施例中,通过使用hive的udf开发基于aes的对称加密算法加载到hivesql函数中,并使用sql函数对数据表中敏感字段进行加密,提高了敏感字加密的安全性,由于使用对称加密算法进行加密便于对加密后的密文解密,确保了加密数据在开发与测试过程中正常运行。

本发明实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1和图2所示实施例的方法步骤,具体执行过程可以参见图1和图2所示实施例的具体说明,在此不进行赘述。

本申请实施例还提供了一种计算机设备。如图4所示,计算机设备20可以包括:至少一个处理器201,例如cpu,至少一个网络接口204,用户接口203,存储器205,至少一个通信总线202,可选地,还可以包括显示屏206。其中,通信总线202用于实现这些组件之间的连接通信。其中,用户接口203可以包括触摸屏、键盘或鼠标等等。网络接口204可选的可以包括标准的有线接口、无线接口(如wi-fi接口),通过网络接口204可以与服务器建立通信连接。存储器205可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器,存储器205包括本发明实施例中的flash。存储器205可选的还可以是至少一个位于远离前述处理器201的存储系统。如图4所示,作为一种计算机存储介质的存储器205中可以包括操作系统、网络通信模块、用户接口模块以及程序指令。

需要说明的是,网络接口204可以连接接收器、发射器或其他通信模块,其他通信模块可以包括但不限于wifi模块、蓝牙模块等,可以理解,本发明实施例中计算机设备也可以包括接收器、发射器和其他通信模块等。

处理器201可以用于调用存储器205中存储的程序指令,并使计算机设备20执行以下操作:

生成加密密钥;

生成初始化向量;

采用加密函数对加密密钥、初始化向量以及待加密的敏感字符串进行预处理,得到对应的二进制数组;

采用base64对二进制数据进行编码得到最终的加密字符串。

在一些实施例中,设备20还用于:

根据hive数据仓库中udf函数的开发规则将加密字符串的生成过程封装成aesencrytudf类。

在一些实施例中,加密函数为aesctr加密函数。

在一些实施例中,加密密钥为128bit的密钥key,初始化向量为128bit的向量iv。

在本发明实施例中,通过使用hive的udf开发基于aes的对称加密算法加载到hivesql函数中,并使用sql函数对数据表中敏感字段进行加密,提高了敏感字加密的安全性,由于使用对称加密算法进行加密便于对加密后的密文解密,确保了加密数据在开发与测试过程中正常运行。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1