一种数据校验方法及装置制造方法及图纸

技术编号:35290982 阅读:11 留言:0更新日期:2022-10-22 12:37
本发明专利技术公开了一种数据校验方法及装置,包括:将目标数据文件拆分为多个子数据分块;利用第一数据摘要算法计算各子数据分块的第一校验值;拼接各子数据分块的第一校验值;利用第二数据摘要算法计算拼接后的第一校验值的第二校验值,以获得目标数据文件的校验值。本发明专利技术实施例通过将目标数据文件拆分成多个子数据分块,并基于多个子数据分块来计算校验值,以生成最终的校验值,由此可以在目标数据文件存在修改的情况下,仅重复计算对应的子数据分块的校验值,极大降低了运算量,提高信息摘要的效率。摘要的效率。摘要的效率。

【技术实现步骤摘要】
一种数据校验方法及装置


[0001]本专利技术涉及数据校验
,尤其涉及一种数据校验方法及装置。

技术介绍

[0002]散列函数,比如MD5,是一个将任意长度的数据字符串转化成短的固定长度的值的单向操作。任意两个字符串不应有相同的散列值。
[0003]MD5校验和(checksum)通过对接收的传输数据执行散列运算来检查数据的正确性。计算出的散列值拿来和随数据传输的散列值比较。如果两个值相同,说明传输的数据完整无误、没有被窜改过(前提是散列值没有被窜改),从而可以放心使用。
[0004]MD5校验可以应用在多个领域,比如说机密资料的检验,下载文件的检验,明文密码的加密等。
[0005]基于内容的校验,无法应对内容被修改的场景,例如一个文件中,任意一段数据被修改,需要将全部数据重新进行计算,由此带来的性能开销很大。

技术实现思路

[0006]本专利技术实施例提供一种数据校验方法及装置,用以在文件修改的情况下,降低生成修改后的数据校验值的运算量,提高信息摘要的效率。
[0007]本专利技术实施例提供一种数据校验方法,包括:
[0008]将目标数据文件拆分为多个子数据分块;
[0009]利用第一数据摘要算法计算各子数据分块的第一校验值;
[0010]拼接各子数据分块的第一校验值;
[0011]利用第二数据摘要算法计算拼接后的第一校验值的第二校验值,以获得目标数据文件的校验值。
[0012]在一些实施例中,在修改目标数据文件的情况下,所述数据校验方法还包括:
[0013]确定存在修改的子数据分块,并利用第一数据摘要算法重新计算该子数据分块的第一校验值;
[0014]基于重新计算的第一校验值以及其他不存在修改的子数据分块的校验值计算目标数据文件的校验值。
[0015]在一些实施例中,在拆分的子数据分块的数量超过预设数量阈值的情况下,所述数据校验方法还包括:
[0016]将多个子数据分块进行分组;
[0017]利用第一数据摘要算法计算任一组的各子数据分块的第一校验值并进行拼接;
[0018]利用第二数据摘要算法计算拼接后的第一校验值的第二校验值,并拼接第二校验值;
[0019]利用第三数据摘要算法计算拼接后的第二校验值的第三校验值,以获得目标数据文件的校验值。
[0020]在一些实施例中,将多个子数据分块进行分组包括:采用树状结构进行分组。
[0021]本申请实施例还提出一种数据校验装置,包括处理器被配置为:
[0022]将目标数据文件拆分为多个子数据分块;
[0023]利用第一数据摘要算法计算各子数据分块的第一校验值;
[0024]拼接各子数据分块的第一校验值;
[0025]利用第二数据摘要算法计算拼接后的第一校验值的第二校验值,以获得目标数据文件的校验值。
[0026]在一些实施例中,在修改目标数据文件的情况下,所述处理器还被配置为:
[0027]确定存在修改的子数据分块,并利用第一数据摘要算法重新计算该子数据分块的第一校验值;
[0028]基于重新计算的第一校验值以及其他不存在修改的子数据分块的校验值计算目标数据文件的校验值。
[0029]在一些实施例中,在拆分的子数据分块的数量超过预设数量阈值的情况下,所述处理器还被配置为:
[0030]将多个子数据分块进行分组;
[0031]利用第一数据摘要算法计算任一组的各子数据分块的第一校验值并进行拼接;
[0032]利用第二数据摘要算法计算拼接后的第一校验值的第二校验值,并拼接第二校验值;
[0033]利用第三数据摘要算法计算拼接后的第二校验值的第三校验值,以获得目标数据文件的校验值。
[0034]本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述的方法的步骤。
[0035]本专利技术实施例通过将目标数据文件拆分成多个子数据分块,并基于多个子数据分块来计算校验值,以生成最终的校验值,由此可以在目标数据文件存在修改的情况下,仅重复计算对应的子数据分块的校验值,极大降低了运算量,提高信息摘要的效率。
[0036]上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。
附图说明
[0037]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0038]图1为本申请实施例的数据校验方法的基本流程图;
[0039]图2为本申请实施例的数据校验方法数据分块拆分示例;
[0040]图3为本申请实施例的数据校验方法数据分块内容修改示例;
[0041]图4为本申请实施例的数据校验方法数据分块的分组示例。
具体实施方式
[0042]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0043]本专利技术实施例提供一种数据校验方法,如图1所示,包括如下步骤:
[0044]在步骤S101中,将目标数据文件拆分为多个子数据分块。如图2所示,本示例中可以将目标数据文件拆分为N子数据分块。
[0045]在步骤S102中,利用第一数据摘要算法计算各子数据分块的第一校验值。本示例中所指的第一数据摘要算法可以是SHA、MD5和CRC32等摘要算法。本示例中以第一数据摘要算法为MD5算法为例,可以分别计算分块1

分块N的第一校验值(分块校验值)。
[0046]在步骤S103中,拼接各子数据分块的第一校验值。本示例中的拼接可以是将各分块校验值进行叠加或者数据的拼接。
[0047]在步骤S104中,利用第二数据摘要算法计算拼接后的第一校验值的第二校验值,以获得目标数据文件的校验值。
[0048]本示例中所指的第二数据摘要算法也可以第一数据摘要算法相同,也可以是SHA、MD5和CRC32等摘要算法,例如第二数据摘要算法也采用MD5算法,则满足:
[0049]目标数据文件的校验值=calcMD5(分块校验值

1+分块校验值

2+分块校验值

3+

+分块校验值

N)。
[0050]在一些实施例中,在修改目标数据文件的情况下,所述数据校验方法还包括:
[0051]确定存在修改的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据校验方法,其特征在于,包括:将目标数据文件拆分为多个子数据分块;利用第一数据摘要算法计算各子数据分块的第一校验值;拼接各子数据分块的第一校验值;利用第二数据摘要算法计算拼接后的第一校验值的第二校验值,以获得目标数据文件的校验值。2.如权利要求1所述的数据校验方法,其特征在于,在修改目标数据文件的情况下,所述数据校验方法还包括:确定存在修改的子数据分块,并利用第一数据摘要算法重新计算该子数据分块的第一校验值;基于重新计算的第一校验值以及其他不存在修改的子数据分块的校验值计算目标数据文件的校验值。3.如权利要求2所述的数据校验方法,其特征在于,在拆分的子数据分块的数量超过预设数量阈值的情况下,所述数据校验方法还包括:将多个子数据分块进行分组;利用第一数据摘要算法计算任一组的各子数据分块的第一校验值并进行拼接;利用第二数据摘要算法计算拼接后的第一校验值的第二校验值,并拼接第二校验值;利用第三数据摘要算法计算拼接后的第二校验值的第三校验值,以获得目标数据文件的校验值。4.如权利要求3所述的数据校验方法,其特征在于,将多个子数据分块进行分组包括:采用树状结构进行分组。5.一种数据校验装置,其特征在于,包括处理器被...

【专利技术属性】
技术研发人员:胡波
申请(专利权)人:中电云数智科技有限公司
类型:发明
国别省市:

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

1