本发明涉及通信,尤其涉及一种加解密方法及装置。
背景技术:
1、相关技术中,通过硬件介质,封装硬件终端的sdk(software development kit)在硬件终端对通信报文进行加密并上传,接收端根据解密规则对加密报文进行解密,由于按照现有传输协议传输的是流式数据,导致接收端在分包解析数据时容易出错,从而干扰接收端接收正常的数据包。
技术实现思路
1、本发明提供一种加解密方法及装置,用以解决现有技术中按照现有传输协议传输流式数据容易导致数据解析出错,导致接收端无法接收正常的数据包的缺陷,提高数据解析的准确率和通信传输效率。
2、本发明提供一种加解密方法,包括:
3、获取明文数据和加密密钥,所述明文数据包括多个数据包,所述加密密钥包括多个第一子密钥,每个数据包对应一个第一子密钥;
4、基于所述多个第一子密钥分别对所述多个数据包进行加密,得到多个第一加密数据包;
5、基于第一标识对所述多个第一加密数据包进行重组,得到多个第二加密数据包,基于所述第一标识对所述多个第一子密钥进行重组,得到多个第二子密钥;每个第一加密数据包对应一个第一标识,所述第一标识基于入网码请求id和消息流水号得到;
6、将所述多个第二加密数据包和所述多个第二子密钥发送至服务端,所述服务端用于基于所述第二子密钥对所述多个第二加密数据包进行解密。
7、根据本发明提供的一种加解密方法,所述基于第一标识对所述多个第一加密数据包进行重组,得到多个第二加密数据包包括:
8、在每个第一加密数据包的前端拼接对应的第一标识,得到所述多个第二加密数据包;
9、所述基于所述第一标识对所述多个第一子密钥进行重组,得到多个第二子密钥包括:
10、在每个第一子密钥的前端拼接对应的第一标识,得到所述多个第二子密钥。
11、根据本发明提供的一种加解密方法,在所述得到多个第一加密数据包之后,所述方法还包括:
12、基于所述第一标识和第二标识对所述多个第一加密数据包进行重组,得到多个第三加密数据包,基于所述第一标识和第二标识对所述多个第一子密钥进行重组,得到多个第三子密钥;每个第一加密数据包对应一个第二标识,所述第二标识用于表示数据包的加密类型;
13、将所述多个第三加密数据包和所述多个第三子密钥发送至服务端,所述服务端用于基于第三子密钥对第三加密数据包进行解密。
14、根据本发明提供的一种加解密方法,在所述得到多个第二子密钥之后,所述方法还包括:
15、基于所述多个第二子密钥确定多个第一解密密钥,每个第一解密密钥对应一个第二子密钥;
16、基于哈希映射建立第二子密钥、第二加密数据包和第一解密密钥之间的映射关系,并将所述映射关系存储于哈希链表。
17、根据本发明提供的一种加解密方法,所述基于所述第一标识和第二标识对所述多个第一加密数据包进行重组,得到多个第三加密数据包包括:
18、在每个第一加密数据包的前端拼接对应的第一标识,得到所述多个第二加密数据包;
19、在每个第二加密数据包的前端拼接对应的第二标识,得到所述多个第三加密数据包;
20、所述基于所述第一标识和第二标识对所述多个第一子密钥进行重组,得到多个第三子密钥包括:
21、在每个第一子密钥的前端拼接对应的第一标识,得到所述多个第二子密钥;
22、在每个第二子密钥的前端拼接对应的第二标识,得到所述多个第三子密钥。
23、本发明还提供一种加解密装置,包括:
24、数据获取模块,用于获取明文数据和加密密钥,所述明文数据包括多个数据包,所述加密密钥包括多个第一子密钥,每个数据包对应一个第一子密钥;
25、加密模块,用于基于所述多个第一子密钥分别对所述多个数据包进行加密,得到多个第一加密数据包;
26、第一重组模块,用于基于第一标识对所述多个第一加密数据包进行重组,得到多个第二加密数据包,基于所述第一标识对所述多个第一子密钥进行重组,得到多个第二子密钥;每个第一加密数据包对应一个第一标识,所述第一标识基于入网码请求id和消息流水号得到;
27、第一解密模块,将所述多个第二加密数据包和所述多个第二子密钥发送至服务端,所述服务端用于基于所述第二子密钥对所述多个第二加密数据包进行解密。
28、根据本发明提供的一种加解密装置,所述装置还包括:
29、第二重组模块,用于在所述得到多个第一加密数据包之后,基于所述第一标识和第二标识对所述多个第一加密数据包进行重组,得到多个第三加密数据包,基于所述第一标识和第二标识对所述多个第一子密钥进行重组,得到多个第三子密钥;每个第一加密数据包对应一个第二标识,所述第二标识用于表示数据包的加密类型;
30、第二解密模块,用于将所述多个第三加密数据包和所述多个第三子密钥发送至服务端,所述服务端用于基于第三子密钥对第三加密数据包进行解密。
31、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述加解密方法。
32、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述加密方法。
33、本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述加解密方法。
34、本发明提供的加解密方法及装置,通过多个第一子密钥分别对多个数据包进行加密,得到多个第一加密数据包,并利用第一标识对多个第一加密数据包进行重组,得到多个第二加密数据包,利用第一标识对多个第一子密钥进行重组,得到多个第二子密钥,最后将多个第二加密数据包和多个第二子密钥发送至服务端进行解密,按照现有传输协议传输流式数据容易导致数据解析出错,通过第一标识对加密密文的重新包装,能够建立加密密文与加密密钥的一一对应关系,提高了服务端数据解析的准确率,进而提升了通信传输效率。
1.一种加解密方法,应用于客户端,其特征在于,包括:
2.根据权利要求1所述的加解密方法,其特征在于,所述基于第一标识对所述多个第一加密数据包进行重组,得到多个第二加密数据包包括:
3.根据权利要求1所述的加解密方法,其特征在于,在所述得到多个第一加密数据包之后,所述方法还包括:
4.根据权利要求1所述的加解密方法,其特征在于,在所述得到多个第二子密钥之后,所述方法还包括:
5.根据权利要求3所述的加解密方法,其特征在于,所述基于所述第一标识和第二标识对所述多个第一加密数据包进行重组,得到多个第三加密数据包包括:
6.一种加解密装置,其特征在于,包括:
7.根据权利要求6所述的加解密装置,其特征在于,所述装置还包括:
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述加解密方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述加解密方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述加解密方法。