一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种验证数据传输完整性的方法及系统与流程

2022-02-22 08:18:19 来源:中国专利 TAG:

h;
20.当p>m h时,
21.若l-p>h b,则截取数据尾部的h字节为验证码hash,得到原目标数据的长度p-h;
22.若h<l-p≤h b或l-p=0,则采用可逆信息隐藏方法提取h个字节的验证码hash,并恢复原目标数据,p值不变;
23.若0<l-p≤h,则获取数据最末尾的一个字节b:
24.如果尾部b个字节不全为b,则采用可逆信息隐藏的方法提取h个字节的验证码hash,并恢复原目标数据,p值不变;
25.如果尾部b个字节全为b,截取尾部h b个字节,前h个字节作为验证码hash,原目标数据的长度为p-h-b。
26.可选地,所述数据接收端基于提取的验证码与计算得到的验证码对所述目标数据的完整性进行验证,包括:
27.计算原目标数据的验证码hash,并与提取的验证码hash进行比较,如果相同,则表明数据完整,如果不同,则表明数据不完整。
28.当0<l-p≤h时,如果尾部b个字节全为b,如果计算结果为数据不完整,则重新对接收的数据进行可逆信息隐藏提取验证码hash,并恢复数据,数据长度不变,再次计算数据的验证码hash,并与提取的验证码hash进行比较,如果相同,则表明数据完整,如果不同,则表明数据不完整。
29.第二方面本技术实施例提供一种验证数据传输完整性的系统,所述系统,包括:
30.数据发送端,用于计算待进行传输的目标数据的完整性验证码;
31.将完整性验证码与所述目标数据进行捆绑,将捆绑后的数据发送至目标数据接收端;
32.数据接收端,用于接收所述数据,提取验证码;
33.所述数据接收端基于提取的验证码与计算得到的验证码对所述目标数据的完整性进行验证。
34.第三方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第一方面任一所述的验证数据传输完整性的方法的步骤。
35.第四方面,本技术实施例提供了一种计算机设备,该计算机设备,至少包括存储器和处理器;所述存储器通过通信总线和所述处理器连接,用于存储所述处理器可执行的计算机指令;所述处理器用于从所述存储器读取计算机指令以实现上述第一方面任一实施例所述的验证数据传输完整性的方法的步骤。
36.本技术实施例中提供的一种验证数据传输完整性的方法及系统,首先数据发送端计算待进行传输的目标数据的完整性验证码;将完整性验证码与目标数据进行捆绑,将捆绑后的数据发送至目标数据接收端;接收端接收该数据,提取验证码;数据接收端基于提取的验证码与计算得到的验证码对接收到的目标数据的完整性进行验证;进而本技术中在接收到数据后对接收到的数据进行完整性的验证,能够及时判断所接收到的数据是否完整。
附图说明
37.图1是本技术一示例性实施例示出的一种验证数据传输完整性的方法的流程示意图;
38.图2是本技术一示例性实施例示出的一种将目标数据数据和完整性验证码进行绑定的示意图;
39.图3是本技术一示例性实施例示出的一种进行数据完整性验证的流程示意图;
40.图4是本技术一示例性实施例示出的一种验证数据传输完整性系统的结构示意图。
具体实施方式
41.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
42.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
43.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
44.考虑到现有技术中,在数据传输的过程中,由于受到各种客观因素或者人为因素的影响,可能会导致出现数据丢失、被篡改等问题,使得数据接收端所接受到的数据可能是不完整的原数据,但是相关技术中,数据接收端在接收到目标数据后缺少及时对数据完整性验证的有效机制。基于此,本技术实施例提供了一种天线姿态的检测设备及方法。
45.图1是本技术一示例性实施例示出的一种验证数据传输完整性的方法的流程示意图;参照图1所示,本技术实施例中提供了一种验证数据传输完整性的方法,该方法包括如下步骤s10-s40:
46.s10、数据发送端计算待进行传输的目标数据的完整性验证码。
47.本技术实施例中,上述的数据发送端可以是通信过程中或者是通信中转过程中的任一设备,比如服务器、网关等。
48.上述数据发送端可以是通过sm3摘要算法计算目标数据的完整性验证码hash。
49.s20、将完整性验证码与所述目标数据进行捆绑,将捆绑后的数据发送至目标数据接收端。
50.s30、所述接收端接收所述数据,提取验证码。
51.s40、所述数据接收端基于提取的验证码与计算得到的验证码对所述目标数据的完整性进行验证。
52.图2是本技术一示例性实施例示出的一种将目标数据和完整性验证码进行绑定的示意图;参照图2所示,所述将完整性验证码与所述目标数据进行捆绑,包括:按照规则将数据和完整性验证码进行捆绑,规则如下:
53.(1)、当p≤m时,将验证码hash的h字节直接拼接在数据之后一起传输,且p=p h;
54.(2)、当p>m时,规则如下:
55.1)、当l-p>2*h b时,将验证码hash的h字节直接拼接在数据之后一起传输,且p=p h;
56.2)、当h b<l-p≤2*h b时,先将验证码hash的h字节拼接于数据之后,再在尾部填充b个字节b,p=p h b;
57.3)、当0≤l-p≤h b时,采用可逆信息隐藏方法将验证码hash的h字节隐藏于数据中,p不变。
58.其中,b为填充数据的个数,b∈[8,255],填充的数据为b个b。
[0059]
进而本实施例中,综上,上述数据发送端可以是通过sm3摘要算法计算目标数据的完整性验证码hash;其中,所述完整性验证码hash的数据长度为h字节,所述目标数据的实际长度为p字节;计算采用可逆隐藏方法将完整性验证码hash嵌入载体数据时所需的载体数据最小长度m字节,其中,m《=l,l为载体数据的理论上的最大长度;当p≤m时,将验证码hash的h字节直接拼接在目标数据之后,此时得到拼接后的数据长度为:p h;当p>m时,
[0060]
若l-p>2*h b,则将验证码hash的h字节直接拼接在目标数据之后,此时得到的拼接后的目标数据长度为:p h;其中,b为目标数据中填充数据的个数,b∈[8,255];若h b<l-p≤2*h b,则先将验证码hash的h字节拼接于目标数据之后,再在尾部填充b个字节b,此时得到的拼接后的数据长度为:p h b;当0≤l-p≤h b时,采用可逆信息隐藏方法将验证码hash的h字节隐藏于目标数据中,此时得到的捆绑后的数据长度不变。本技术上述述实施例中,解决了传输数据长度受限时验证码的传输难题
[0061]
图3是本技术一示例性实施例示出的一种进行数据完整性验证的流程示意图;参照图3所示,上述进行数据完整性验证的过程包括:
[0062]
接收端接收到数据后,通过以下规则获得验证码和数据:
[0063]
(1)当p≤m h时,截取数据尾部的h个字节为验证码hash,数据的长度p=p-h;
[0064]
(2)当p>m h时,规则如下:
[0065]
1)、当l-p>h b时,截取数据尾部的h字节为验证码hash,数据的长度p=p-h;
[0066]
2)、当h<l-p≤h b或l-p=0时,采用可逆信息隐藏方法提取h个字节的验证码hash,并恢复原数据,p值不变;
[0067]
3)、当0<l-p≤h时,获取数据最末尾的一个字节b:
[0068]
(a)如果尾部b个字节不全为b,则采用可逆信息隐藏的方法提取h个字节的验证码hash,并恢复原数据,p值不变;
[0069]
(b)如果尾部b个字节全为b,截取尾部h b个字节,前h个字节作为验证码hash,数据的长度p=p-h-b。
[0070]
进行数据完整性验证,具体如下:
[0071]
(1)直接计算上述获得的数据的验证码hash,并与提取的验证码hash进行比较,如果相同,则数据完整,如果不同,则数据不完整;
[0072]
(2)当0<l-p≤h时,如果尾部b个字节全为b,如果计算法结果为数据不完整,则重新对接收的数据进行可逆信息隐藏提取h个字节验证码hash,并恢复原数据,p不变,再次计算数据的验证码hash,并与提取的验证码hash进行比较,如果相同,则数据完整,如果不同,则数据不完整。
[0073]
本发明上述实施例中,利用sm3摘要算法计算数据的完整性验证码hash,长度记为h;计算采用可逆隐藏方法将hash嵌入载体数据时,所需的载体数据最小长度m;根据传输数据的长度选择将验证码直接与数据拼接,还是采用可逆隐藏方法将验证码信息隐藏于数据中;接收端接收数据后,根据发送端的规则,获取验证码,并与计算得到的验证码进行比较,相同则数据完整,不同则数据不完整。该方法解决了传输数据长度受限时验证码的传输难题。
[0074]
图4是本技术一示例性实施例示出的一种验证数据传输完整性系统的结构示意图;参照图4所示,该验证数据传输完整性的系统,包括:
[0075]
数据发送端51,用于计算待进行传输的目标数据的完整性验证码。
[0076]
将完整性验证码与所述目标数据进行捆绑,将捆绑后的数据发送至目标数据接收端;
[0077]
数据接收端52,用于接收所述数据,提取验证码。
[0078]
所述数据接收端基于提取的验证码与计算得到的验证码对所述目标数据的完整性进行验证。
[0079]
本技术中,数据发送端在将目标数据发送至数据接收端之前,首先数据发送端计算待进行传输的目标数据的完整性验证码;将完整性验证码与目标数据进行捆绑,将捆绑后的数据发送至目标数据接收端;接收端接收该数据,提取验证码;数据接收端基于提取的验证码与计算得到的验证码对接收到的目标数据的完整性进行验证;进而本技术中在接收到数据后对接收到的数据进行完整性的验证,能够及时判断所接收到的数据是否完整。
[0080]
本技术一实施例中还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例所述的数据传输完整性的验证方法的步骤。
[0081]
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0082]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本技术方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0083]
本说明书中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本说明书中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信
息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。
[0084]
本说明书中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如fpga(现场可编程门阵列)或asic(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。
[0085]
适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。
[0086]
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如eprom、eeprom和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及cdrom和dvd-rom盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
[0087]
虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
[0088]
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
[0089]
由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
[0090]
以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献