数据加密方法、解密方法、加密装置和解密装置与流程

文档序号:12035086阅读:374来源:国知局
导航: X技术> 最新专利> 计算;推算;计数设备的制造及其应用技术
数据加密方法、解密方法、加密装置和解密装置与流程

本发明涉及计算机技术领域,尤其涉及一种数据加密方法、解密方法、加密装置和解密装置。



背景技术:

在数据驱动的科技公司内,hive(基于hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能)被广泛应用于各种与数据相关的业务系统中。但是由于一些数据存在的敏感特性,如用户的账户名称、联系方式等,在数据交互过程中存在较高的风险,其泄漏可能对公司造成巨大的影响和损失。hadoop是一个分布式系统基础架构,sql是结构化查询语言,英文全称为structuredquerylanguage。

hive本身并不具备对数据的加密办法,而且由于hive系统不直接提供加密和权限控制办法,对敏感数据的存储和使用带来诸多不便。现有技术中对hive中存储的敏感数据的使用,解决办法通常是:对所有数据的权限做控制,即指定可使用数据的人或部门。

在实现本发明过程中,发明人发现现有技术中至少存在如下问题:现有技术既引入了流程复杂的权限申请审批流程,又不能有效的做到数据的安全传输,使用过程中可能带来泄露风险。



技术实现要素:

有鉴于此,本发明实施例提供一种数据加密方法、解密方法、加密装置和解密装置。本发明实施例同时提供加密方法和解密方法,在数据生成时调用加密方法产生密文数据,提供给业务系统;业务系统获取密文数据后可以进行传递,在需要使用数据时调用解密方法获取原始数据。避免了数据使用过程中可能带来的泄露风险,保证了数据的安全传输。

为实现上述目的,根据本发明的一个方面,提供了一种数据加密方法。

本发明实施例的一种数据加密方法包括以下步骤:当秘钥不存在时,将原始数据的所有字符中每两个字节分为一组进行异或运算;将经异或运算得到的数据按照所述原始数据的字符顺序进行连接以得到中间加密数据;将所述中间加密数据按位与预设的第一因子相加,将相加得到的数据与预设的第二因子进行相除以得到相除数据和余数,将得到的所有所述相除数据和余数进行连接以组成密文数据;所述第一因子和第二因子为整数,并且

当秘钥存在时,将为原始数据设定的秘钥按照预设移位数进行移位后与所述原始数据进行异或运算;将经异或运算得到的数据按照所述原始数据的字符顺序进行连接以得到中间加密数据;将所述原始数据与所述秘钥进行相加运算,将相加得到的数据与预设的第一因子相乘后再与预设的第二因子相加以得到第一新秘钥;将所述中间加密数据按位与所述第一因子相加,将相加得到的数据与所述第二因子进行相除以得到相除数据和余数,将得到的所有相除数据和余数进行连接以组成密文数据;所述第一因子和第二因子为整数。

可选地,所述原始数据为通过hive存储的数据。

可选地,所述方法还包括:将所述数据加密方法中的步骤、第一因子、第二因子和移位数写入第一自定义函数,将所述第一自定义函数封装到jar包中以被hive加载。

可选地,所述方法还包括:将封装到所述jar包的第一自定义函数注册为hive的内置函数。

为实现上述目的,根据本发明的另一个方面,提供了一种数据解密方法。

本发明实施例的一种数据解密方法包括以下步骤:当秘钥不存在时,按密文数据的字符顺序每次提取所述密文数据的两个字符,将提取得到的第一个字符与预设的第一因子相减后再与预设的第二因子相乘,将提取得到的第二个字符与所述第一因子相减后再与所述第一个字符相加以得到一个解密字符;所述第一因子和第二因子与数据加密方法的第一因子和第二因子的取值相同;将所有解密字符按照所述密文数据的字符顺序进行组合以得到中间解密数据;将所述中间解密数据的所有字符中每两个字节分为一组进行异或运算,将经异或运算得到的数据与分组中的第二字节合并后,按所述中间解密数据的字符顺序进行连接以组成解密数据,并且

当秘钥存在时,按密文数据的字符顺序每次提取所述密文数据的两个字符,将提取得到的第一个字符与预设的第一因子相减后再与预设的第二因子相乘,将提取得到的第二个字符与所述第一因子相减后再与所述第一个字符相加以得到一个解密字符;所述第一因子和第二因子与数据加密方法的第一因子和第二因子的取值相同;将所有解密字符按照所述密文数据的字符顺序进行连接以得到中间解密数据;将所述中间解密数据与所述第一因子相乘后再与第二因子相加以得到第二新秘钥;将收到的第一新秘钥按照预设移位数进行移位,将移位后的秘钥与所述中间解密数据进行异或运算,将经异或运算得到的数据按所述中间解密数据的字符顺序进行连接以组成解密数据;所述移位数与数据加密方法的移位数的取值相同。

可选地,所述方法还包括:将所述数据解密方法中的步骤、第一因子、第二因子和移位数写入第二自定义函数,将所述第二自定义函数封装到jar包中以被hive加载。

可选地,所述方法还包括:将封装到所述jar包的第二自定义函数注册为hive的内置函数。

为实现上述目的,根据本发明的另一方面,提供了一种数据加密装置。

本发明实例的一种数据加密装置包括:当秘钥不存在时起作用的分组异或模块、第一连接模块和第一相加相除模块,以及当秘钥存在时起作用的移位异或模块、第二连接模块、新秘钥生成模块和第二相加相除模块,其中,所述分组异或模块,用于将原始数据的所有字符中每两个字节分为一组进行异或运算;所述第一连接模块,用于将经异或运算得到的数据按照所述原始数据的字符顺序进行连接以得到中间加密数据;所述第一相加相除模块,用于将所述中间加密数据按位与预设的第一因子相加,将相加得到的数据与预设的第二因子进行相除以得到相除数据和余数,将得到的所有所述相除数据和余数进行连接以组成密文数据;所述第一因子和第二因子为整数;所述移位异或模块,用于为原始数据的设定秘钥,将所述秘钥按照预设移位数进行移位后与所述原始数据进行异或运算;所述第二连接模块,用于将经异或运算得到的数据按照所述原始数据的字符顺序进行连接以得到中间加密数据;所述新秘钥生成模块,用于将所述原始数据与所述秘钥进行相加运算,将相加得到的数据与预设的第一因子相乘后再与预设的第二因子相加以得到第一新秘钥;所述第二相加相除模块,用于将所述中间加密数据按位与所述第一因子相加,将相加得到的数据与所述第二因子进行相除以得到相除数据和余数,将得到的所有相除数据和余数进行连接以组成密文数据;所述第一因子和第二因子为整数。

可选地,所述原始数据为通过hive存储的数据。

可选地,所述装置还包括:函数封装模块,用于将所述数据加密装置的各模块、第一因子、第二因子和移位数写入第一自定义函数,将所述第一自定义函数封装到jar包中以被hive加载。

可选地,所述装置还包括:函数注册模块,用于将封装到所述jar包的第一自定义函数注册为hive的内置函数。

为实现上述目的,根据本发明的另一方面,提供了一种数据解密装置。

本发明实例的一种数据解密装置包括:当秘钥不存在时起作用的第一提取运算模块、第一组合模块和分组异或模块,以及当秘钥存在时起作用的第二提取运算模块、第二组合模块、新秘钥生成模块和移位异或模块,其中,所述第一提取运算模块,用于按密文数据的字符顺序每次提取所述密文数据的两个字符,将提取得到的第一个字符与预设的第一因子相减后再与预设的第二因子相乘,将提取得到的第二个字符与所述第一因子相减后再与所述第一个字符相加以得到一个解密字符;所述第一因子和第二因子与数据加密装置的第一因子和第二因子的取值相同;所述第一组合模块,用于将所有解密字符按照所述密文数据的字符顺序进行组合以得到中间解密数据;所述分组异或模块,用于将所述中间解密数据的所有字符中每两个字节分为一组进行异或运算,将经异或运算得到的数据与分组中的第二字节合并后,按所述中间解密数据的字符顺序进行连接以组成解密数据;所述第二提取运算模块,用于按密文数据的字符顺序每次提取所述密文数据的两个字符,将提取得到的第一个字符与预设的第一因子相减后再与预设的第二因子相乘,将提取得到的第二个字符与所述第一因子相减后再与所述第一个字符相加以得到一个解密字符;所述第一因子和第二因子与数据加密装置的第一因子和第二因子的取值相同;所述第二组合模块,用于将所有解密字符按照所述密文数据的字符顺序进行组合以得到中间解密数据;所述新秘钥生成模块,用于将所述中间解密数据与所述第一因子相乘后再与第二因子相加以得到第二新秘钥;所述移位异或模块,用于将收到的第一新秘钥按照预设移位数进行移位,将移位后的秘钥与所述中间解密数据进行异或运算,将经异或运算得到的数据按所述中间解密数据的字符顺序进行连接以组成解密数据;所述移位数与数据加密装置的移位数的取值相同。

可选地,所述装置还包括:函数封装模块,用于将所述数据解密装置的各模块、第一因子、第二因子和移位数写入第二自定义函数,将所述第二自定义函数封装到jar包中以被hive加载。

可选地,所述装置还包括:函数注册模块,用于将封装到所述jar包的第二自定义函数注册为hive的内置函数。

为实现上述目的,根据本发明的再一方面,提供了一种电子设备。

本发明实施例的一种电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的一种数据加密方法。

为实现上述目的,根据本发明的再一方面,提供了一种计算机可读存储介质。

本发明实施例的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的一种数据加密方法。

为实现上述目的,根据本发明的再一方面,提供了一种电子设备。

本发明实施例的一种电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的一种数据解密方法。

为实现上述目的,根据本发明的再一方面,提供了一种计算机可读存储介质。

本发明实施例的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的一种数据解密方法。

上述发明中的一个实施例具有如下优点或有益效果:通过预定义第一因子、第二因子和移位数,对原始数据进行异或、相除处理得到密文数据,异或处理使得数据更加分散,避免了数据使用过程中可能带来的泄露风险。将加密方法应用于hive系统,使得通过hive存储的数据有了较高安全性,有效防止了数据泄露。本发明同时提供了数据解密方法,使得加密后的数据经解密后可以获取原始数据,是一种可逆加密方式。通过将加密方法、解密方法封装为自定义函数,使得加密方法、解密方法能够被hive加载,还可以注册为hive的内置函数直接被hive调用。

上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

附图说明

附图用于更好地理解本发明,不构成对本发明的不当限定。其中:

图1是根据本发明实施例的秘钥不存在时的数据加密方法的主要步骤的示意图;

图2是根据本发明实施例秘钥存在时的数据加密方法的主要步骤的示意图;

图3是根据本发明实施例秘钥不存在时的数据解密方法的主要步骤的示意图;

图4是根据本发明实施例秘钥存在时的数据解密方法的主要步骤的示意图;

图5是本发明实施例的数据加密方法、数据解密方法的使用过程示意图;

图6是根据本发明实施例的数据加密装置的主要模块的示意图;

图7是根据本发明实施例的数据解密装置的主要模块的示意图;

图8是本发明实施例可以应用于其中的示例性系统架构图;

图9是适用于来实现本发明实施例的电子设备的计算机系统的结构示意图。

具体实施方式

以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

本发明实施例的数据加密方法允许设定秘钥,但秘钥是可选的,在海量数据的情况下,如果每个数据产生无关联秘钥,会占用大量的存储空间和较多的带宽资源,这时不适宜使用秘钥。当秘钥存在时,加密方法中存在3个自定义变量:移位数n、第一因子a和第二因子b。当秘钥存在时,加密方法中存在2个自定义变量:第一因子a和第二因子b。数据解密方法中,秘钥也是可选的,且数据解密方法使用与加密方法相同的移位数n、第一因子a和第二因子b。

图1是根据本发明实施例的秘钥不存在时的数据加密方法的主要步骤的示意图。

如图1所示,本发明实施例的秘钥不存在时的数据加密方法主要包括如下步骤:当秘钥不存在时,

步骤s101:将原始数据的所有字符中每两个字节分为一组进行异或运算。

步骤s102:将经异或运算得到的数据按照所述原始数据的字符顺序进行连接以得到中间加密数据。按字节操作完成后对中间加密数据进行位置转换,具体实现见步骤103。

步骤s103:将所述中间加密数据按位与预设的第一因子a相加,将相加得到的数据与预设的第二因子b进行相除以得到相除数据和余数,将得到的所有所述相除数据和余数进行连接以组成密文数据,输出密文数据。该步骤按位操作字符,第一因子a和第二因子b为自定义,ascii码的总长度最大是65536,因此第一因子a不能超过65536,一般为64-256之间的任意整数;第二因子b一般为第一因子a的1/3至1/10之间的整数,该值是经验值,其取值太大会导致相除、取余操作后得到的结果更接近原始数据本身。

图2是根据本发明实施例的秘钥存在时的数据加密方法的主要步骤的示意图。

如图2所示,本发明实施例的秘钥不存在时的数据加密方法主要包括如下步骤:当秘钥存在时,

步骤s201:将为原始数据设定的秘钥按照预设移位数进行移位后与所述原始数据进行异或运算。实施例中将秘钥右移n位。

步骤s202:将经异或运算得到的数据按照所述原始数据的字符顺序进行连接以得到中间加密数据。

步骤s203:将所述原始数据与所述秘钥进行相加运算,将相加得到的数据与预设的第一因子a相乘后再与预设的第二因子b相加以得到第一新秘钥。第一因子a和第二因子b为自定义,ascii码的总长度最大是65536,因此第一因子a不能超过65536,一般为64-256之间的任意整数;第二因子b一般为第一因子a的1/3至1/10之间的整数,该值是经验值,其取值太大会导致相除、取余操作后得到的结果更接近原始数据本身。

步骤s204:将所述中间加密数据按位与所述第一因子a相加,将相加得到的数据与所述第二因子b进行相除以得到相除数据和余数,将得到的所有相除数据和余数进行连接以组成密文数据,将得到的密文数据和第一新秘钥输出。第一新秘钥用于解密。

其中,步骤201-步骤203是按字符对数据进行操作,数据可以是多行,对每一行的数据按字符进行操作,比如数据为字母时,以一个字母为单位进行运算;为汉字时,以一个汉字为单位进行运算。步骤204是按位操作,每一行数据对应有一个相除数据和余数,将所有行的数据的相除数据和余数按原始顺序连接组成密文数据。

另外,原始数据可以是通过hive存储的数据,这些数据通过加密方法产生密文数据,并提供给业务系统;业务系统获取密文数据后可以进行传递,有数据使用需求时。调用解密方法对密文数据进行解密,保证了hive中数据的安全传输,规避了敏感数据的使用过程中可能带来的泄漏风险。

图3是根据本发明实施例的秘钥不存在时的数据解密方法的主要步骤的示意图。

如图3所示,本发明实施例的秘钥不存在时的数据解密方法主要包括如下步骤:当秘钥不存在时,

步骤301:按密文数据的字符顺序每次提取所述密文数据的两个字符,将提取得到的第一个字符与预设的第一因子a相减后再与预设的第二因子b相乘,将提取得到的第二个字符与所述第一因子a相减后再与所述第一个字符相加以得到一个解密字符。所述第一因子a和第二因子b与数据加密方法的第一因子a和第二因子b的取值相同。

步骤302:将所有解密字符按照所述密文数据的字符顺序进行组合以得到中间解密数据。

步骤303:将所述中间解密数据的所有字符中每两个字节分为一组进行异或运算,将经异或运算得到的数据与分组中的第二字节合并后,按所述中间解密数据的字符顺序进行连接以组成解密数据,输出解密数据。

图4是根据本发明实施例的秘钥存在时的数据解密方法的主要步骤的示意图。

如图4所示,本发明实施例的秘钥存在时的数据解密方法主要包括如下步骤:当秘钥存在时,

步骤401:按密文数据的字符顺序每次提取所述密文数据的两个字符,将提取得到的第一个字符与预设的第一因子a相减后再与预设的第二因子b相乘,将提取得到的第二个字符与所述第一因子a相减后再与所述第一个字符相加以得到一个解密字符。所述第一因子a和第二因子b与数据加密方法的第一因子a和第二因子b的取值相同。加密方法中步骤204两个新生成字符为与第二因子b的相除结果和余数,那么在组成密文数据的时候,相除结果和余数的先后顺序没有限定。如果相除结果在前、余数在后,那么解密方法中相除结果与提取的第一位字符相对应,余数与提取的第二位字符相对应;如果反过来,那么解密中的处理也要反过来。

步骤402:将所有解密字符按照所述密文数据的字符顺序进行连接以得到中间解密数据。

步骤403:将所述中间解密数据与所述第一因子a相乘后再与第二因子b相加以得到第二新秘钥。第二新秘钥用来给下一行数据解密。

步骤404:将收到的第一新秘钥按照预设移位数进行移位,将移位后的秘钥与所述中间解密数据进行异或运算,将经异或运算得到的数据按所述中间解密数据的字符顺序进行连接以组成解密数据,输出解密数据和第二新秘钥。实施例中将第一新秘钥右移n位,这里的n与加密方法中的移位数n相同。

另外,hive允许用户使用自定义函数对数据进行处理,用户可以集成hive提供的自定义函数,因此本发明实施例中将加密方法、解密方法进行了函数封装,具体过程为:将加密方法中的所有步骤、三个自定义变量写入自定义函数1,将解密方法中的所有步骤、三个自定义变量写入自定义函数2,将两个自定义函数生成独立的jar包。封装后的自定义函数可以动态的被hive加载,加载后由hive引用并创建可用于被sql直接调用的函数名。jar包是将用java语言写好的代码编译后打包的文件,可直接执行jar内部的java程序。

另外,封装后的自定义函数可以注册为hive的内置函数。将自定义函数1、2加入到hive的源码中重新打包编译后,可以直接被hive调用。源码是指被编译后可被直接调用执行的代码。

图5是本发明实施例的数据加密方法、数据解密方法的使用过程示意图。

如图5所示,描述了三种不同的使用方式。第一种使用方式为:加密后的密文数据经解密后传递给业务应用系统1。第二、三种使用方式为:加密后的密文数据传递给业务应用系统2,由业务系统2解密后通过业务系统3使用数据。如:用户手机号信息使用加密方法加密后,传递给广告推荐系统;广告推荐系统先调用解密方法对数据解密,再调取短信发送系统发送广告推送。

根据本发明实施例的数据加密方法、解密方法可以看出,通过预定义第一因子、第二因子和移位数,对原始数据进行异或、相除处理得到密文数据,异或处理使得数据更加分散,避免了数据使用过程中可能带来的泄露风险。将加密方法应用于hive系统,使得通过hive存储的数据有了较高安全性,有效防止了数据泄露。本发明同时提供了数据解密方法,使得加密后的数据经解密后可以获取原始数据,是一种可逆加密方式。通过将加密方法、解密方法封装为自定义函数,使得加密方法、解密方法能够被hive加载,还可以注册为hive的内置函数直接被hive调用。

图6是根据本发明实施例的数据加密装置的主要模块的示意图。

如图6所示,本发明实施例的数据加密装置600包括:当秘钥不存在时起作用的分组异或模块601、第一连接模块602和第一相加相除模块603,以及当秘钥存在时起作用的移位异或模块604、第二连接模块605、新秘钥生成模块606和第二相加相除模块607。其中,

所述分组异或模块601,用于将原始数据的所有字符中每两个字节分为一组进行异或运算。

所述第一连接模块602,用于将经异或运算得到的数据按照所述原始数据的字符顺序进行连接以得到中间加密数据。

所述第一相加相除模块603,用于将所述中间加密数据按位与预设的第一因子a相加,将相加得到的数据与预设的第二因子b进行相除以得到相除数据和余数,将得到的所有所述相除数据和余数进行连接以组成密文数据;所述第一因子a和第二因子b为整数。

所述移位异或模块604,用于为原始数据的设定秘钥,将所述秘钥按照预设移位数n进行移位后与所述原始数据进行异或运算。

所述第二连接模块605,用于将经异或运算得到的数据按照所述原始数据的字符顺序进行连接以得到中间加密数据。

所述新秘钥生成模块606,用于将所述原始数据与所述秘钥进行相加运算,将相加得到的数据与预设的第一因子a相乘后再与预设的第二因子b相加以得到第一新秘钥。

所述第二相加相除模块607,用于将所述中间加密数据按位与所述第一因子a相加,将相加得到的数据与所述第二因子b进行相除以得到相除数据和余数,将得到的所有相除数据和余数进行连接以组成密文数据;所述第一因子a和第二因子b为整数。

其中,所述原始数据为通过hive存储的数据。

另外,所述装置还包括:函数封装模块(图中未示出),用于将所述数据加密装置的各模块、第一因子a、第二因子b和移位数n写入第一自定义函数,将所述第一自定义函数封装到jar包中以被hive加载。

另外,所述装置还包括:函数注册模块(图中未示出),用于将封装到所述jar包的第一自定义函数注册为hive的内置函数。

图7是根据本发明实施例的数据解密装置的主要模块的示意图。

如图7所示,本发明实施例的数据解密装置700包括:当秘钥不存在时起作用的第一提取运算模块701、第一组合模块702和分组异或模块703,以及当秘钥存在时起作用的第二提取运算模块704、第二组合模块705、新秘钥生成模块706和移位异或模块707。其中,

所述第一提取运算模块701,用于按密文数据的字符顺序每次提取所述密文数据的两个字符,将提取得到的第一个字符与预设的第一因子a相减后再与预设的第二因子b相乘,将提取得到的第二个字符与所述第一因子a相减后再与所述第一个字符相加以得到一个解密字符;所述第一因子a和第二因子b与数据加密装置的第一因子a和第二因子b的取值相同。

所述第一组合模块702,用于将所有解密字符按照所述密文数据的字符顺序进行组合以得到中间解密数据。

所述分组异或模块703,用于将所述中间解密数据的所有字符中每两个字节分为一组进行异或运算,将经异或运算得到的数据与分组中的第二字节合并后,按所述中间解密数据的字符顺序进行连接以组成解密数据。

所述第二提取运算模块704,用于按密文数据的字符顺序每次提取所述密文数据的两个字符,将提取得到的第一个字符与预设的第一因子a相减后再与预设的第二因子b相乘,将提取得到的第二个字符与所述第一因子a相减后再与所述第一个字符相加以得到一个解密字符;所述第一因子a和第二因子b与数据加密装置的第一因子a和第二因b子的取值相同。

所述第二组合模块705,用于将所有解密字符按照所述密文数据的字符顺序进行组合以得到中间解密数据。

所述新秘钥生成模块706,用于将所述中间解密数据与所述第一因子a相乘后再与第二因子b相加以得到第二新秘钥。

所述移位异或模块707,用于将收到的第一新秘钥按照预设移位数进行移位,将移位后的秘钥与所述中间解密数据进行异或运算,将经异或运算得到的数据按所述中间解密数据的字符顺序进行连接以组成解密数据;所述移位数与数据加密装置的移位数n的取值相同。

另外,所述装置还包括:函数封装模块(图中未示出),用于将所述数据解密装置的各模块、第一因子a、第二因子b和移位数n写入第二自定义函数,将所述第二自定义函数封装到jar包中以被hive加载。

另外,所述装置还包括:函数注册模块(图中未示出),用于将封装到所述jar包的第二自定义函数注册为hive的内置函数。

从以上描述可以看出,通过预定义第一因子、第二因子和移位数,对原始数据进行异或、相除处理得到密文数据,异或处理使得数据更加分散,避免了数据使用过程中可能带来的泄露风险。将加密方法应用于hive系统,使得通过hive存储的数据有了较高安全性,有效防止了数据泄露。本发明同时提供了数据解密方法,使得加密后的数据经解密后可以获取原始数据,是一种可逆加密方式。通过将加密方法、解密方法封装为自定义函数,使得加密方法、解密方法能够被hive加载,还可以注册为hive的内置函数直接被hive调用。

图8示出了可以应用本发明实施例的数据加密方法、数据解密方法、数据加密装置或是解密装置的示例性系统架构800。

如图8所示,系统架构800可以包括终端设备801、802、803,网络804和服务器805。网络804用以在终端设备801、802、803和服务器805之间提供通信链路的介质。网络804可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备801、802、803通过网络804与服务器805交互,以接收或发送消息等。终端设备801、802、803上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。

终端设备801、802、803可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器805可以是提供各种服务的服务器,例如对用户利用终端设备801、802、803所产生的点击事件提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的点击数据、文本内容等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。

需要说明的是,本申请实施例所提供的数据加密方法或者数据解密方法一般由服务器805执行,相应地,数据加密装置或者数据解密装置一般设置于服务器805中。

应该理解,图8中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

根据本发明的实施例,本发明还提供了一种电子设备和一种计算机可读介质。

本发明的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的一种数据加密方法。

本发明的计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的一种数据加密方法。

根据本发明的实施例,本发明还提供了一种电子设备和一种计算机可读介质。

本发明的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的一种数据解密方法。

本发明的计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的一种数据解密方法。

下面参考图9,其示出了适于用来实现本发明实施例的终端设备的计算机系统900的结构示意图。图9示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图9所示,计算机系统900包括中央处理单元(cpu)901,其可以根据存储在只读存储器(rom)902中的程序或者从存储部分908加载到随机访问存储器(ram)903中的程序而执行各种适当的动作和处理。在ram903中,还存储有系统900操作所需的各种程序和数据。cpu901、rom902以及ram903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。

以下部件连接至i/o接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至i/o接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。

特别地,根据本发明公开的实施例,上文主要步骤图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(cpu)901执行时,执行本发明的系统中限定的上述功能。

需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

附图中的主要步骤图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括分组异或模块、第一连接模块、第一相加相除模块、移位异或模块、第二连接模块、新秘钥生成模块和第二相加相除模块。其中,这些模块的名称在某种情况下并不构成对该单元本身的限定,例如,分组异或模块还可以被描述为“将原始数据的所有字符中每两个字节分为一组进行异或运算的模块”。

作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:当秘钥不存在时,将原始数据的所有字符中每两个字节分为一组进行异或运算;将经异或运算得到的数据按照所述原始数据的字符顺序进行连接以得到中间加密数据;将所述中间加密数据按位与预设的第一因子相加,将相加得到的数据与预设的第二因子进行相除以得到相除数据和余数,将得到的所有所述相除数据和余数进行连接以组成密文数据;所述第一因子和第二因子为整数,并且

当秘钥存在时,将为原始数据设定的秘钥按照预设移位数进行移位后与所述原始数据进行异或运算;将经异或运算得到的数据按照所述原始数据的字符顺序进行连接以得到中间加密数据;将所述原始数据与所述秘钥进行相加运算,将相加得到的数据与预设的第一因子相乘后再与预设的第二因子相加以得到第一新秘钥;将所述中间加密数据按位与所述第一因子相加,将相加得到的数据与所述第二因子进行相除以得到相除数据和余数,将得到的所有相除数据和余数进行连接以组成密文数据;所述第一因子和第二因子为整数。

根据本发明实施例的技术方案,通过预定义第一因子、第二因子和移位数,对原始数据进行异或、相除处理得到密文数据,异或处理使得数据更加分散,避免了数据使用过程中可能带来的泄露风险。将加密方法应用于hive系统,使得通过hive存储的数据有了较高安全性,有效防止了数据泄露。本发明同时提供了数据解密方法,使得加密后的数据经解密后可以获取原始数据,是一种可逆加密方式。通过将加密方法、解密方法封装为自定义函数,使得加密方法、解密方法能够被hive加载,还可以注册为hive的内置函数直接被hive调用。

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

完整全部详细技术资料下载
当前第1页 1  2 
相关技术
  • IO数据的读写方法和装置与流...
  • 基于密度划分的k‑匿名隐私保...
  • 一种数据保护方法、移动终端及...
  • 一种实现数据泄露防护的方法和...
  • 一种云计算环境中低调整率的保...
  • 数据标记化方法及装置与流程
  • 一种信息处理方法及移动终端与...
  • 面向文本检索服务的用户隐私保...
  • 一种控制用户访问权限的方法和...
  • 手机回收过程中快速实现文件粉...
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1
在线数据加密解密相关技术
  • 对可共享的加密数据进行解密的方法、装置及系统与流程
  • 数据加密和解密方法和装置与流程
  • 一种基于二重盐值的数据加密与解密方法及系统与流程
  • 一种数据加密的方法、解密的方法及装置与流程
  • 数据加解密的方法及装置与流程
  • 一种数据加密方法、解密方法、装置和系统与流程
  • 数据加密解密方法及装置与流程
  • 数据加密方法、加密方设备及数据解密方法、解密方设备与流程
  • 数据加密方法、解密方法、加密装置和解密装置与流程
  • 一种多媒体数据加密、解密的方法及装置与流程
数据加密与解密相关技术
  • 数据加密方法、数据解密方法、装置、设备及系统的制作方法
  • 一种数据加密解密方法及其系统的制作方法
  • 一种epon系统中加密数据帧解密方法及装置的制作方法
  • 数据加解密方法及系统的制作方法
  • 工业控制数据的加密解密方法
  • 一种数据加密解密通信终端的制作方法
  • 局部启动数字权利管理引擎的方法与系统的制作方法
  • 一种数据加密解密通信终端的制作方法
  • 多层级数据加密与解密系统及其方法
  • 数据加密及解密方法、系统及设备的制作方法
数据加密解密相关技术
  • 一种敏感数据加解密装置、方法及交易系统的制作方法
  • 一种医疗数据加密算法
  • 一种抗侧信道分析的大数相减方法
  • 用于网络和外存数据加密解密的u口移动硬盘及实现方法
  • 一种基于二进制解密微信加密数据的方法
  • 一种电动车的云服务数据加密、解密方法和装置的制造方法
  • 一种数据加密方法、解密方法、传输方法及系统的制作方法
  • 一种文件数据加解密处理的方法、装置以及终端的制作方法
  • 一种屏幕解锁方法、数据加密、解密方法及相关装置的制造方法
  • 数据的加解密方法及加解密装置的制造方法
json数据加密解密相关技术
  • 储存装置数据加解密方法
  • 对加密数据的解密支持的制作方法
  • 数据加密方法、解密方法及装置的制造方法
  • 用于对数据进行加密和解密的方法和架构的制作方法
  • 数据的加密和解密方法及加密和解密装置的制造方法
  • 一种数据加密、解密的方法及智能手表的制作方法
  • 数据加密、解密方法和装置的制造方法
  • 一种数据加密、解密的方法及移动终端的制作方法
  • 一种数据加解密方法及装置的制造方法
  • 一种数据加密解密方法、装置以及终端的制作方法
数据加密方法相关技术
  • 一种基于改进AES算法的数据加密方法与制造工艺
  • 一种数据加密通信方法及系统与制造工艺
  • 数据加密系统、方法及装置与制造工艺
  • 一种通讯过程中的数据加密方法与制造工艺
  • 数据加密方法及装置与制造工艺
  • 一种对本地数据进行加密方法和终端的制作方法
  • 一种软件静态数据的加密方法及系统的制作方法
  • 基于场景帧指纹的视频认证方法
  • 一种基于tpm的云存储数据加密方法
  • 数据的解密方法以及电子设备的制造方法
数据加密的方法相关技术
  • 一种通讯过程中的数据加密方法与制造工艺
  • 数据加密方法及装置与制造工艺
  • 一种基于非对称的数据安全加解密装置的制造方法
  • 一种基于tpm的云存储数据加密方法
  • 一种数据加密方法
  • 一种视频数据的加密方法
  • 数据加密的方法及装置的制造方法
  • 加密数据输入方法及装置的制造方法
  • 存储卡数据加密方法及系统的制作方法
  • 数据保护卡的制作方法

深圳SEO优化公司光明网站关键词优化西乡网站建设南山SEO按天计费布吉百度网站优化同乐网站优化排名福永百度标王南山如何制作网站大浪优秀网站设计宝安至尊标王布吉网站优化排名南山SEO按天计费坂田企业网站制作爱联百度标王布吉关键词按天收费永湖网站优化按天计费南澳关键词按天扣费惠州英文网站建设南澳阿里店铺托管布吉网站定制丹竹头SEO按天计费双龙阿里店铺运营南山关键词按天扣费深圳关键词按天扣费宝安网站优化推广深圳百度标王坪地网站推广福田外贸网站制作宝安高端网站设计塘坑如何制作网站东莞模板网站建设歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化