System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及数据处理,尤其涉及一种数据加密及解密方法、装置、电子设备及存储介质。
技术介绍
1、在一些场景中,对数据传输的安全性具有较高的需求,除了预先约定的接收方,用户并不希望其他第三方能够获取数据中的信息,因此,在进行数据传输的过程中,通常需要利用密钥对数据进行加密。
2、相关技术中,可以采用对称加密的方式,基于密钥对明文数据进行加密后,得到密文数据,进而,对密文数据进行传输,接收方在接收到密文数据后,可以采用相同的密钥,对密文数据进行解密,得到明文数据。这样,即使密文数据被第三方截获,在没有密钥的情况下,第三方也无法对密文数据进行解密,从而有效防止信息泄露。
3、但是,上述数据加密及解密方式较为单一,如果密钥被泄露,则密文数据存在很大的被破解风险,导致数据传输的安全性难以得到保障。
技术实现思路
1、本公开提供一种数据加密及解密方法、装置、电子设备及存储介质,以至少解决相关技术中数据加密及解密方式较为单一,如果密钥被泄露,则密文数据存在很大的被破解风险,导致数据传输的安全性难以得到保障的问题。本公开的技术方案如下:
2、根据本公开实施例的第一方面,提供一种数据加密方法,包括:
3、获取明文数据,并对所述明文数据进行数值转换,得到初始值;
4、将所述初始值与预设素数依次进行取余运算,分别得到每个预设素数对应的参考值;
5、根据所述预设素数及对应的所述参考值,确定最小目标值,并确定所述初始值及所述最小目标值之间
6、将所述参考值的长度补充至与所述参考值对应的预设素数的长度相等,得到补充值,并按照所述预设素数的排列顺序,拼接所述偏移量及所述补充值,得到加密值;
7、对所述加密值进行字符转换,得到所述明文数据对应的密文数据。
8、可选地,所述对所述明文数据进行数值转换,得到初始值,包括:
9、将所述明文数据转换为字节流信息;
10、对所述字节流信息依次进行十六进制转换及二进制转换,得到初始值;
11、所述对所述加密值进行字符转换,得到所述明文数据对应的密文数据,包括:
12、对所述加密值依次进行十六进制转换、字节流转换以及字符转换,得到所述明文数据对应的密文数据。
13、可选地,所述将所述参考值的长度补充至与所述参考值对应的预设素数的长度相等,得到补充值,包括:
14、调用预设函数,分别计算所述参考值及对应的预设素数的长度;
15、在所述参考值的长度小于所述预设素数的长度的情况下,在所述参考值的第一位之前补充预设数量个0,得到补充值;所述预设数量等于所述预设素数的长度与所述参考值的长度之差;
16、在所述参考值的长度等于所述预设素数的长度的情况下,将所述参考值作为补充值。
17、可选地,所述根据所述预设素数及对应的所述参考值,确定最小目标值,包括:
18、基于剩余定理,根据所述预设素数及对应的所述参考值确定最小解,作为最小目标值。
19、可选地,所述确定所述初始值及所述最小目标值之间的偏移量,包括:
20、对所述初始值及所述最小目标值进行异或运算,得到偏移量。
21、可选地,所述预设素数的排列顺序为由小到大排序,且所述预设素数均大于预设值。
22、根据本公开实施例的第二方面,提供一种数据解密方法,包括:
23、获取密文数据,并对所述密文数据进行数值转换,得到加密值;
24、按照预设素数的排列倒序及长度,从所述加密值的尾部依次截取与所述预设素数对应的补充值,并将所述加密值中未被截取的剩余部分作为偏移量;
25、根据所述预设素数及对应的所述补充值,确定最小目标值;所述最小目标值为目标值中的最小值,所述目标值与任一预设素数相除,得到的余数为所述任一预设素数对应的所述补充值;
26、根据所述偏移量及所述最小目标值,确定初始值;
27、对所述初始值进行字符转换,得到所述密文数据对应的明文数据。
28、可选地,所述对所述密文数据进行数值转换,得到加密值,包括:
29、将所述密文数据转换为字节流信息;
30、对所述字节流信息依次进行十六进制转换及二进制转换,得到加密值;
31、所述对所述初始值进行字符转换,得到所述密文数据对应的明文数据,包括:
32、对所述初始值依次进行十六进制转换、字节流转换以及字符转换,得到,得到所述密文数据对应的明文数据。
33、可选地,所述根据所述预设素数及对应的所述补充值,确定最小目标值,包括:
34、基于剩余定理,根据所述预设素数及对应的所述补充值确定最小解,作为最小目标值。
35、可选地,所述根据所述偏移量及所述最小目标值,确定初始值,包括:
36、对所述偏移量及所述最小目标值进行异或运算,得到初始值。
37、可选地,所述预设素数的排列顺序为由小到大排序,且所述预设素数均大于预设值。
38、根据本公开实施例的第三方面,提供一种数据加密装置,包括:
39、获取模块,用于获取明文数据,并对所述明文数据进行数值转换,得到初始值;
40、取余模块,用于将所述初始值与预设素数依次进行取余运算,分别得到每个预设素数对应的参考值;
41、确定模块,用于根据所述预设素数及对应的所述参考值,确定最小目标值,并确定所述初始值及所述最小目标值之间的偏移量;所述最小目标值为目标值中的最小值,所述目标值与任一预设素数相除,得到的余数为所述任一预设素数对应的所述参考值;
42、拼接模块,用于将所述参考值的长度补充至与所述参考值对应的预设素数的长度相等,得到补充值,并按照所述预设素数的排列顺序,拼接所述偏移量及所述补充值,得到加密值;
43、转换模块,用于对所述加密值进行字符转换,得到所述明文数据对应的密文数据。
44、根据本公开实施例的第四方面,提供一种数据解密装置,包括:
45、获取模块,用于获取密文数据,并对所述密文数据进行数值转换,得到加密值;
46、截取模块,用于按照预设素数的排列倒序及长度,从所述加密值的尾部依次截取与所述预设素数对应的补充值,并将所述加密值中未被截取的剩余部分作为偏移量;
47、计算模块,用于根据所述预设素数及对应的所述补充值,确定最小目标值;所述最小目标值为目标值中的最小值,所述目标值与任一预设素数相除,得到的余数为所述任一预设素数对应的所述补充值;
48、确定模块,用于根据所述偏移量及所述最小目标值,确定初始值;
49、转换模块,用于对所述初始值进行字符转换,得到所述密文数据对应的明文本文档来自技高网...
【技术保护点】
1.一种数据加密方法,其特征在于,包括:
2.根据权利要求1所述的数据加密方法,其特征在于,所述对所述明文数据进行数值转换,得到初始值,包括:
3.根据权利要求1所述的数据加密方法,其特征在于,所述将所述参考值的长度补充至与所述参考值对应的预设素数的长度相等,得到补充值,包括:
4.根据权利要求1所述的数据加密方法,其特征在于,所述根据所述预设素数及对应的所述参考值,确定最小目标值,包括:
5.根据权利要求1所述的数据加密方法,其特征在于,所述确定所述初始值及所述最小目标值之间的偏移量,包括:
6.根据权利要求1所述的数据加密方法,其特征在于,所述预设素数的排列顺序为由小到大排序,且所述预设素数均大于预设值。
7.一种数据解密方法,其特征在于,包括:
8.根据权利要求7所述的数据解密方法,其特征在于,所述对所述密文数据进行数值转换,得到加密值,包括:
9.根据权利要求7所述的数据解密方法,其特征在于,所述根据所述预设素数及对应的所述补充值,确定最小目标值,包括:
10.根据
11.根据权利要求7所述的数据解密方法,其特征在于,所述预设素数的排列顺序为由小到大排序,且所述预设素数均大于预设值。
12.一种数据加密装置,其特征在于,包括:
13.一种数据解密装置,其特征在于,包括:
14.一种电子设备,其特征在于,包括:
15.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由数据加密电子设备的处理器执行时,使得数据加密电子设备能够执行如权利要求1至6或7至11中任一项所述的数据加密或解密方法。
16.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6或7至11任一项所述的数据加密或解密方法。
...【技术特征摘要】
1.一种数据加密方法,其特征在于,包括:
2.根据权利要求1所述的数据加密方法,其特征在于,所述对所述明文数据进行数值转换,得到初始值,包括:
3.根据权利要求1所述的数据加密方法,其特征在于,所述将所述参考值的长度补充至与所述参考值对应的预设素数的长度相等,得到补充值,包括:
4.根据权利要求1所述的数据加密方法,其特征在于,所述根据所述预设素数及对应的所述参考值,确定最小目标值,包括:
5.根据权利要求1所述的数据加密方法,其特征在于,所述确定所述初始值及所述最小目标值之间的偏移量,包括:
6.根据权利要求1所述的数据加密方法,其特征在于,所述预设素数的排列顺序为由小到大排序,且所述预设素数均大于预设值。
7.一种数据解密方法,其特征在于,包括:
8.根据权利要求7所述的数据解密方法,其特征在于,所述对所述密文数据进行数值转换,得到加密值,包括:
9.根据权利要求7...
【专利技术属性】
技术研发人员:张涛,
申请(专利权)人:中国电信股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。