数据发送方法、数据接收方法、发送端及接收端技术

技术编号:24333783 阅读:55 留言:0更新日期:2020-05-29 21:09
本发明专利技术提供数据发送方法、接收方法、发送端、接收端,涉及通信技术领域。发送方法为:利用消息摘要算法对待发送数据进行运算,得到待发送数据的第一散列值;将待发送数据的长度值拼接在待发送数据的头部和/或尾部,得到待加密数据;对待加密数据进行加密,得到第一加密数据;将第一散列值每隔第二预设数量的字符划分为多个第一子数据,并将一个第一子数据拼接在一组待插入字符的头部和/或尾部,得到一组预设字符;在第一加密数据中每隔第五预设数量的字符,依次插入一组预设字符,得到第二加密数据;将第一散列值的所有字符拼接在第二加密数据的头部和/或尾部,得到目标加密数据。数据传输安全性能高,便于校验目标加密数据是否被篡改。

Data sending method, data receiving method, sending end and receiving end

【技术实现步骤摘要】
数据发送方法、数据接收方法、发送端及接收端
本专利技术实施例涉及通信
,特别是涉及一种数据发送方法、数据接收方法、发送端、接收端、设备、计算机可读存储介质。
技术介绍
目前,各种数据不可避免的需要进行传输,如由发送端将数据发往接收端。在传输过程中,数据可能会存在被攻击和被窃取的可能性,对数据的安全造成威胁。在现有技术中,发送端通常从接收端获取密钥,通过该密钥对数据进行加密后发送至接收端,接收端基于上述密钥解密。或者,发送端生成随机数,采用消息摘要算法对随机数进行运算,得到密钥,通过该密钥对数据进行加密后发送至接收端,并将上述密钥也发送至接收端,接收端基于收到的密钥进行解密。专利技术人在研究过程中发现,上述现有技术方案存在如下缺点:上述发送方法中对数据加密方式过于简单,数据在传输过程中依然存在较大的安全威胁。
技术实现思路
本专利技术实施例提供一种数据发送方法、数据接收方法、发送端、接收端、设备、计算机可读存储介质,旨在解决数据在传输过程中存在较大的安全威胁的问题。第一方面,本专利技术实施例提供了一种数据发送方法,应用于发送端,所述方法包括:利用消息摘要算法对待发送数据进行运算,得到所述待发送数据的第一散列值;将所述待发送数据的长度值拼接在所述待发送数据的头部和/或尾部,得到待加密数据;所述待发送数据的长度值对应的字符数量为第一预设数量;将所述第一散列值作为密钥,对所述待加密数据进行加密,得到第一加密数据;将所述第一散列值每隔第二预设数量的字符划分为多个第一子数据,并将一个所述第一子数据拼接在一组待插入字符的头部和/或尾部,得到一组预设字符;其中,所述待插入字符包括:各个第一位置编号和一个第二子数据;各个所述第一位置编号为所述第一子数据中各个字符在所述第一散列值的所有字符中的位置序号;所述各个第一位置编号的字符数量为第四预设数量;所述第二子数据为将预设散列值每隔第三预设数量的字符划分后得到的各个子数据;在所述第一加密数据中每隔第五预设数量的字符,依次插入一组所述预设字符,得到第二加密数据;将所述第一散列值的所有字符拼接在所述第二加密数据的头部和/或尾部,得到目标加密数据;所述第一散列值的所有字符的总数量为第六预设数量;将所述目标加密数据发送至接收端。可选的,所述在所述第一加密数据中每隔第五预设数量的字符,依次插入一组所述预设字符,得到第二加密数据,包括:将所述第一加密数据每隔所述第五预设数量的字符划分为多个第三子数据;在各个相邻的所述第三子数据之间,依次插入一组所述预设字符,得到第二加密数据。可选的,所述将所述第一散列值的所有字符拼接在所述第二加密数据的头部和/或尾部,得到目标加密数据之前,还包括:判断所述第二加密数据中是否插入了所述第一散列值中的所有字符;所述将所述第一散列值的所有字符拼接在所述第二加密数据的头部和/或尾部,得到目标加密数据,包括:在所述第二加密数据中未插入所述第一散列值中的所有字符的情况下,将所述第一散列值的所有字符作为整体,拼接在所述第二加密数据的头部和/或尾部,得到目标加密数据。可选的,所述将所述第一散列值的所有字符拼接在所述第二加密数据的头部和/或尾部,得到目标加密数据,包括:将所述第一散列值的所有字符和所述预设散列值中的所有字符,拼接在所述第二加密数据的头部和/或尾部,得到目标加密数据。所述将所述第一散列值的所有字符和所述预设散列值中的所有字符,拼接在所述第二加密数据的头部和/或尾部,得到目标加密数据,包括:在所述第一散列值的头部和/或尾部,拼接所述预设散列值中的所有字符,得到待拼接数据;将所述待拼接数据,拼接在所述第二加密数据的头部和/或尾部,得到目标加密数据。第二方面,本专利技术实施例提供了一种数据接收方法,应用于接收端,所述方法包括:接收发送端发送的目标加密数据;将所述目标加密数据的头部和/或尾部第六预设数量的字符,确定为第一散列值中的所有字符,并将所述目标加密数据剩余的字符确定为第二加密数据;在所述第二加密数据每第七预设数量的字符中,依次获取第五预设数量的字符之后的所有字符,得到多组检验字符,并将所述第二加密数据中的剩余字符确定为第一加密数据;所述第七预设数量等于所述第五预设数量、第二预设数量、第三预设数量以及第四预设数量的和;在一组所述检验字符中,从头部和/或尾部依次获取所述第二预设数量的字符,得到一组验证散列值字符,并将一组所述检验字符中剩余的字符确定为第四子数据;在所述第四子数据中获取所述第四预设数量的字符,得到多个第二位置编号;将各组所述检验字符对应的各个所述验证散列值字符,按照多个所述位置编号进行排序,得到插入的散列值字符;在第一集合为第二集合的子集的情况下,将所述第一散列值作为所述第一加密数据的秘钥,进行解密,得到解密数据;所述第一集合为所述插入的散列值字符组成的集合;所述第二集合为所述第一散列值中的所有字符组成的集合;将所述解密数据的头部和/或尾部第一预设数量的字符,确定为第一长度值,并将所述解密数据剩余的字符确定为待判定数据;在所述待判定数据对应的消息摘要算法的第二散列值与所述第一散列值一致,且所述待判定数据的长度值与所述第一长度值一致的情况下,将所述待判定数据确定为待发送数据。可选的,所述在所述第二加密数据每第七预设数量的字符中,依次获取第五预设数量的字符之后的所有字符,得到多组检验字符,包括:将所述第二加密数据每隔所述第七预设数量的字符划分为多个第五子数据;在每个所述第五子数据中,依次获取所述第五预设数量的字符之后的所有字符,得到多组检验字符。第三方面,本专利技术实施例提供了一种发送端,所述发送端包括:第一散列值获取模块,用于利用消息摘要算法对待发送数据进行运算,得到所述待发送数据的第一散列值;第一拼接模块,用于将所述待发送数据的长度值拼接在所述待发送数据的头部和/或尾部,得到待加密数据;所述待发送数据的长度值对应的字符数量为第一预设数量;加密模块,用于将所述第一散列值作为密钥,对所述待加密数据进行加密,得到第一加密数据;第二拼接模块,用于将所述第一散列值每隔第二预设数量的字符划分为多个第一子数据,并将一个所述第一子数据拼接在一组待插入字符的头部和/或尾部,得到一组预设字符;其中,所述待插入字符包括:各个第一位置编号和一个第二子数据;各个所述第一位置编号为所述第一子数据中各个字符在所述第一散列值的所有字符中的位置序号;所述各个第一位置编号的字符数量为第四预设数量;所述第二子数据为将预设散列值每隔第三预设数量的字符划分后得到的各个子数据;插入模块,用于在所述第一加密数据中每隔第五预设数量的字符,依次插入一组所述预设字符,得到第二加密数据;第三拼接模块,用于将所述第一散列值的所有字符拼接在所述第二加密数据的头部和/或尾部,得到目标加密数据;所述第一散列值的所有字符的总数量为第本文档来自技高网...

【技术保护点】
1.一种数据发送方法,应用于发送端,其特征在于,所述方法包括:/n利用消息摘要算法对待发送数据进行运算,得到所述待发送数据的第一散列值;/n将所述待发送数据的长度值拼接在所述待发送数据的头部和/或尾部,得到待加密数据;所述待发送数据的长度值对应的字符数量为第一预设数量;/n将所述第一散列值作为密钥,对所述待加密数据进行加密,得到第一加密数据;/n将所述第一散列值每隔第二预设数量的字符划分为多个第一子数据,并将一个所述第一子数据拼接在一组待插入字符的头部和/或尾部,得到一组预设字符;其中,所述待插入字符包括:各个第一位置编号和一个第二子数据;各个所述第一位置编号为所述第一子数据中各个字符在所述第一散列值的所有字符中的位置序号;所述各个第一位置编号的字符数量为第四预设数量;所述第二子数据为将预设散列值每隔第三预设数量的字符划分后得到的各个子数据;/n在所述第一加密数据中每隔第五预设数量的字符,依次插入一组所述预设字符,得到第二加密数据;/n将所述第一散列值的所有字符拼接在所述第二加密数据的头部和/或尾部,得到目标加密数据;所述第一散列值的所有字符的总数量为第六预设数量;/n将所述目标加密数据发送至接收端。/n...

【技术特征摘要】
1.一种数据发送方法,应用于发送端,其特征在于,所述方法包括:
利用消息摘要算法对待发送数据进行运算,得到所述待发送数据的第一散列值;
将所述待发送数据的长度值拼接在所述待发送数据的头部和/或尾部,得到待加密数据;所述待发送数据的长度值对应的字符数量为第一预设数量;
将所述第一散列值作为密钥,对所述待加密数据进行加密,得到第一加密数据;
将所述第一散列值每隔第二预设数量的字符划分为多个第一子数据,并将一个所述第一子数据拼接在一组待插入字符的头部和/或尾部,得到一组预设字符;其中,所述待插入字符包括:各个第一位置编号和一个第二子数据;各个所述第一位置编号为所述第一子数据中各个字符在所述第一散列值的所有字符中的位置序号;所述各个第一位置编号的字符数量为第四预设数量;所述第二子数据为将预设散列值每隔第三预设数量的字符划分后得到的各个子数据;
在所述第一加密数据中每隔第五预设数量的字符,依次插入一组所述预设字符,得到第二加密数据;
将所述第一散列值的所有字符拼接在所述第二加密数据的头部和/或尾部,得到目标加密数据;所述第一散列值的所有字符的总数量为第六预设数量;
将所述目标加密数据发送至接收端。


2.根据权利要求1所述的方法,其特征在于,所述在所述第一加密数据中每隔第五预设数量的字符,依次插入一组所述预设字符,得到第二加密数据,包括:
将所述第一加密数据每隔所述第五预设数量的字符划分为多个第三子数据;
在各个相邻的所述第三子数据之间,依次插入一组所述预设字符,得到第二加密数据。


3.根据权利要求1所述的方法,其特征在于,所述将所述第一散列值的所有字符拼接在所述第二加密数据的头部和/或尾部,得到目标加密数据之前,还包括:
判断所述第二加密数据中是否插入了所述第一散列值中的所有字符;
所述将所述第一散列值的所有字符拼接在所述第二加密数据的头部和/或尾部,得到目标加密数据,包括:
在所述第二加密数据中未插入所述第一散列值中的所有字符的情况下,将所述第一散列值的所有字符作为整体,拼接在所述第二加密数据的头部和/或尾部,得到目标加密数据。


4.根据权利要求1所述的方法,其特征在于,所述将所述第一散列值的所有字符拼接在所述第二加密数据的头部和/或尾部,得到目标加密数据,包括:
将所述第一散列值的所有字符和所述预设散列值中的所有字符,拼接在所述第二加密数据的头部和/或尾部,得到目标加密数据。


5.一种数据接收方法,应用于接收端,其特征在于,所述方法包括:
接收发送端发送的目标加密数据;
将所述目标加密数据的头部和/或尾部第六预设数量的字符,确定为第一散列值中的所有字符,并将所述目标加密数据剩余的字符确定为第二加密数据;
在所述第二加密数据每第七预设数量的字符中,依次获取第五预设数量的字符之后的所有字符,得到多组检验字符,并将所述第二加密数据中的剩余字符确定为第一加密数据;所述第七预设数量等于所述第五预设数量、第二预设数量、第三预设数量以及第四预设数量的和;
在一组所述检验字符中,从头部和/或尾部依次获取所述第二预设数量的字符,得到一组验证散列值字符,并将一组所述检验字符中剩余的字符确定为第四子数据;
在所述第四子数据中获取所述第四预设数量的字符,得到多个第二位置编号;
将各组所述检验字符对应的各个所述验证散列值字符,按照多个所述位置编号进行排序,得到插入的散列值字符;
在第一集合为第二集合的子集的情况下,将所述第一散列值作为所述第一加密数据的秘钥,进行解密,得到解密数据;所述第一集合为所述插入的散列值字符组成的集合;所述第二集合为所述第一散列值中的所有字符组成的集合;
将所述解密数据的头部和/或尾部第一预设数量的字符,确定为第一长度值,并将所述解密数据剩余的字符确定为待判定数据;
在所述待判定数据对应的消息摘要算法的第二散列值与所述第一散列值一致,且所述待判定数据的长度值与所述第一长度值一致的情况下,将所述待判定数据确定为待发送数据。


6.根据权利要求5所述...

【专利技术属性】
技术研发人员:周卓方晓波张辉
申请(专利权)人:新奇点企业管理集团有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1