本申请涉及数据处理,尤其涉及一种数据加密方法、装置、电子设备及存储介质。
背景技术:
1、随着电子技术的发展,数据安全的重要性越来越高。当数据在网络中传输的时候,存在被不具有数据读取权限的非法用户抓取的安全风险。为了提高数据安全性,往往需要利用密钥对数据进行加密处理,使得不具有密钥的非法用户即便抓取了加密后的数据,也无法从中获取信息。然而,通过密钥加密方式生成的加密数据存在被暴力破解的安全隐患。
技术实现思路
1、本申请实施例提供了一种数据加密方法、装置、电子设备及存储介质,以提高加密数据的安全性。
2、第一方面,本申请实施例提供了一种数据加密方法,包括:
3、对获取的待加密数据进行散列值计算,得到预设长度的第一散列值;
4、基于预设密钥和所述第一散列值,对所述待加密数据进行加密处理,得到初始加密数据;
5、将所述初始加密数据转换为对应的第一字节数组,将所述字节数组的长度确定为第一长度,以及,将所述第一散列值转换为对应的第二字节数组,将所述第二字节数组确定为干扰项,将所述第二字节数组的长度确定为第二长度;
6、根据所述第一长度和所述第二长度,计算得到干扰位置序号;所述干扰位置序号用于表征所述第一字节数组中待插入所述干扰项的字符位置;
7、根据所述干扰位置序号,将所述干扰项插入所述第一字节数组,得到目标加密数据。
8、第二方面,本申请实施例提供了一种数据解密方法,包括:
9、将获取的目标加密数据转换为对应的第三字节数组,将所述第三字节数组的长度确定为第三长度;所述目标加密数据通过如第一方面所述的数据加密方法对目标数据加密得到;
10、对所述第三长度和预设的第二长度求差,得到第一长度;所述第一长度用于表征初始加密数据对应的第一字节数组的长度;所述第二长度用于表征所述第三字节数组中干扰项的长度;
11、根据所述第一长度和所述第二长度,计算得到干扰位置序号;所述干扰位置序号用于表征所述第一字节数组中待插入所述干扰项的字符位置;
12、根据所述干扰位置序号、所述第二长度以及所述第三字节数组,确定所述第一散列值和所述初始加密数据;
13、根据预设密钥和所述第一散列值,对所述初始加密数据进行解密,得到所述目标数据。
14、第三方面,本申请实施例提供了一种数据加密装置,包括:
15、第一计算单元,用于对获取的待加密数据进行散列值计算,得到预设长度的第一散列值;
16、加密单元,用于基于预设密钥和所述第一散列值,对所述待加密数据进行加密处理,得到初始加密数据;
17、第一转换单元,用于将所述初始加密数据转换为对应的第一字节数组,将所述字节数组的长度确定为第一长度,以及,将所述第一散列值转换为对应的第二字节数组,将所述第二字节数组确定为干扰项,将所述第二字节数组的长度确定为第二长度;
18、第二计算单元,用于根据所述第一长度和所述第二长度,计算得到干扰位置序号;所述干扰位置序号用于表征所述第一字节数组中待插入所述干扰项的字符位置;
19、插入单元,用于根据所述干扰位置序号,将所述干扰项插入所述第一字节数组,得到目标加密数据。
20、第四方面,本申请实施例提供了一种数据解密装置,包括:
21、第二转换单元,用于将获取的目标加密数据转换为对应的第三字节数组,将所述第三字节数组的长度确定为第三长度;所述目标加密数据通过如第一方面所述的数据加密方法对目标数据加密得到;
22、第三计算单元,用于对所述第三长度和预设的第二长度求差,得到第一长度;所述第一长度用于表征初始加密数据对应的第一字节数组的长度;所述第二长度用于表征所述第三字节数组中干扰项的长度;
23、第四计算单元,用于根据所述第一长度和所述第二长度,计算得到干扰位置序号;所述干扰位置序号用于表征所述第一字节数组中待插入所述干扰项的字符位置;
24、确定单元,用于根据所述干扰位置序号、所述第二长度以及所述第三字节数组,确定所述第一散列值和所述初始加密数据;
25、解密单元,用于根据预设密钥和所述第一散列值,对所述初始加密数据进行解密,得到所述目标数据。
26、第五方面,本申请实施例提供了一种电子设备,包括:处理器;以及,被配置为存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器执行如第一方面所述的数据加密方法,或者,如第二方面所述的数据解密方法。
27、第六方面,本申请实施例提供了一种计算机可读存储介质,用于存储计算机可执行指令,所述计算机可执行指令在被处理器执行时实现如第一方面所述的数据加密方法,或者,如第二方面所述的数据解密方法。
28、可以看出,在本申请实施例中,首先,对获取的待加密数据进行散列值计算,得到预设长度的第一散列值;其次,基于预设密钥和第一散列值,对待加密数据进行加密处理,得到初始加密数据;接着,将初始加密数据转换为对应的第一字节数组,将字节数组的长度确定为第一长度,以及,将第一散列值转换为对应的第二字节数组,将第二字节数组确定为干扰项,将第二字节数组的长度确定为第二长度;然后,根据第一长度和第二长度,计算得到干扰位置序号;干扰位置序号用于表征第一字节数组中待插入干扰项的字符位置;最后,根据干扰位置序号,将干扰项插入第一字节数组,得到目标加密数据,以此,一方面,在通过同一个预设密钥对不同的待加密数据进行加密处理时,由于该加密过程还利用了根据待加密数据进行散列值计算得到的第一散列值,该第一散列值随着待加密数据改变而改变,故每次加密均采用相同的预设密钥和不同的第一散列值,使得加密得到的初始加密数据破解难度更高,提高了加密数据的安全性;另一方面,初始加密数据对应的第一字节数组的长度为第一长度,第一散列值对应的第二字节数组的长度为第二长度,由于第一散列值为预设长度,故第二长度的数值固定不变,在待加密数据不同的情况下,对待加密数据加密得到的初始加密数据对应的第一长度极有可能不同,进而,基于数值不同的第一长度和数值固定的第二长度所确定的干扰位置序号会随着待加密数据改变而改变,将第二字节数组作为干扰项,基于干扰位置序号将干扰项插入第一字节数组,得到目标加密数据,该干扰项被插入第一字节数组中的位置是非固定的,故非法人员难以从目标加密数据中准确找出干扰项,在目标加密数据既包括干扰项各个字符又包括待加密数据对应的第一字节数组中各个字符的情况下,目标加密数据的破解难度增大了,提高了加密数据的安全性。
1.一种数据加密方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述基于预设密钥和所述第一散列值,对所述待加密数据进行加密处理,得到初始加密数据,包括:
3.根据权利要求2所述的方法,其特征在于,所述将所述第一散列值作为加密参数,按照所述加密参数,对所述第一加密数据进行第二加密处理,得到所述初始加密数据,包括:
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一长度和所述第二长度,计算得到干扰位置序号,包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一长度和所述第二长度,计算得到干扰位置序号,包括:
6.一种数据解密方法,其特征在于,包括:
7.根据权利要求6所述的方法,其特征在于,所述根据预设密钥和所述第一散列值,对所述初始加密数据进行解密,得到所述目标数据之后,还包括:
8.根据权利要求6所述的方法,其特征在于,所述根据所述干扰位置序号、所述第二长度以及所述第三字节数组,确定所述第一散列值和所述初始加密数据,包括:
9.一种数据加密装置,其特征在于,所述装置包括:
10.一种数据解密装置,其特征在于,包括:
11.一种电子设备,其特征在于,所述设备包括:
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令在被处理器执行时实现如权利要求1-5任一项所述的数据加密方法,或者,如权利要求6-8任一项所述的数据解密方法。