数据的存证方法、校验方法、系统、设备及介质技术方案

技术编号:38234805 阅读:10 留言:0更新日期:2023-07-25 18:01
本发明专利技术公开了一种数据的存证方法、校验方法、系统、设备及介质,其中存证方法包括:依次获取数据记录中若干个目标标识的MD5值,并将若干个目标标识的MD5值相加得到标识哈希,计算标识哈希的第一哈希值;计算数据记录中的若干个目标数据项的数值所对应的第二哈希值;对第一哈希值和第二哈希值通过第一预设算法计算得到第一梅克尔树根。通过目标标识MD5值的和求解出标识哈希,并通过标识哈希求解出第一哈希值,在保护数据不被篡改的情况下,可以防止目标标识被猜出,从而保护了用户的隐私。从而保护了用户的隐私。从而保护了用户的隐私。

【技术实现步骤摘要】
数据的存证方法、校验方法、系统、设备及介质


[0001]本专利技术涉及数据存证校验领域,尤其涉及一种数据的存证方法、校验方法、系统、设备及介质。

技术介绍

[0002]数据作为信息的载体,往往会有一定的价值,尤其在大数据时代,各单位自身在运营、服务过程中往往会积累大量的数据,这些数据对某些业务的开展会有一定的利用价值。比如,对于商业场景或外卖中,会掌握了大量的数据,并且数据会包含商品的基本资料以及商品的物流信息,并且外卖信息中还可能会涉及用户的一些基本信息,这些信息可以为用户提供更好的商品和服务。但如果在数据生成时遭到了篡改,或者是数据在传输过程中出现错误,那么数据的公信力会大打折扣,这会给数据使用者造成很多麻烦,比如,如果保存的数据被篡改了,再被决策者利用,这可能会导致决策者做出错误的决策,不仅不会促进业务的发展,反而会带来反作用,白白浪费人力物力等资源。目前,通过计算梅克尔树根来防止数据被篡改,但在进行梅克尔树根的计算和验证,特别是商业中最需要保护的标识部分,很容易被用户根据哈希值推断数据内容,会造成用户隐私的泄漏。

技术实现思路

[0003]本专利技术要解决的技术问题是为了克服现有技术中通过计算梅克尔树根来防止数据被篡改,但在进行梅克尔树根的计算和验证,特别是商业中最需要保护的标识部分,很容易被用户根据哈希值推断数据内容,会造成用户隐私的泄漏的缺陷,提供一种数据的存证方法、校验方法、系统、设备及介质。
[0004]本专利技术是通过下述技术方案来解决上述技术问题:
[0005]本专利技术公开了一种数据的存证方法,所述存证方法包括:
[0006]依次获取数据记录中若干个目标标识的MD5值,并将所述若干个目标标识的所述MD5值相加得到标识哈希,计算所述标识哈希的第一哈希值;
[0007]计算数据记录中的若干个目标数据项的数值所对应的第二哈希值;
[0008]对所述第一哈希值和所述第二哈希值通过第一预设算法计算得到第一梅克尔树根。
[0009]在本方案中,采用上述形式,通过目标标识MD5值的和求解出标识哈希,并通过标识哈希求解出第一哈希值,在保护数据不被篡改的情况下,可以防止目标标识被猜出,从而保护了用户的隐私。
[0010]较佳地,对所述第一哈希值和所述第二哈希值通过第一预设算法计算得到第一梅克尔树根,具体包括:
[0011]获取哈希值集合,所述哈希值集合包括所述第一哈希值和所述第二哈希值;
[0012]按照第一预设规则依次选择所述哈希值集合中的两个哈希值形成哈希值组合,其中每个所述哈希值仅存在于一个所述哈希值组合中;
[0013]对每个所述哈希值组合中的两个所述哈希值进行拼接得到第一字符串,并计算所述第一字符串的哈希值作为第三哈希值;其中,若所述哈希值集合中所述哈希值的数量为奇数个,则将除所有所述哈希值组合之外的剩余的一个哈希值直接作为所述第三哈希值;
[0014]将所有的所述第三哈希值进行拼接得到第二字符串,并计算拼接后所述第二字符串的第四哈希值,所述第四哈希值为所述第一梅克尔树根。
[0015]在本方案中,采用上述形式,通过第一梅克尔树根的求解,可以高效的验证任何数据的存储、处理和传输,并且能够确定数据有没有被破坏和篡改,也可以验证其他节点有没有发出虚假的数据,保障了数据的真实性。
[0016]较佳地,在所述计算数据记录中的若干个目标数据项的数值所对应的第二哈希值的步骤之前,所述存证方法还包括:
[0017]对所述数据记录中所述若干个目标数据项进行编号,并根据所述编号对所述若干个目标数据项进行排序;其中,在所述按照第一预设规则依次选择所述哈希值集合中的两个哈希值形成哈希值组合的步骤中,按照所述目标数据项的编号顺序依次从所述哈希值集合中选择对应的哈希值形成所述哈希值组合。
[0018]在本方案中,采用上述形式,通过对目标数据进行编号,方便后期验证时将目标数据项放置于正确的位置,保证了验证的真实性和可靠性。
[0019]较佳地,所述存证方法还包括:将所述第一梅克尔树根进行数字签名,并将所述第一梅克尔树根的数字签名存入可信服务。
[0020]在本方案中,采用上述形式,可将结果提交给第三方进行保存。
[0021]本专利技术还公开了一种数据的校验方法,所述校验方法包括:
[0022]获取待验证数据记录的若干个待验证目标标识的MD5值,并将所述若干个待验证目标标识的所述MD5值相加得到标识哈希,计算所述标识哈希的第一待验证哈希值;
[0023]获取待验证数据记录中的若干个待验证目标数据项,针对所述待验证目标数据项分别获取对应的数值和/或第二待验证哈希值;其中,当获取到数值时,还根据数值计算出对应的第二待验证哈希值;
[0024]将所述第一待验证哈希值和所述第二待验证哈希值通过第二预设算法计算得到第二梅克尔树根;
[0025]将所述第二梅克尔树根与根据数据的存证方法得到的所述第一梅克尔树根进行比较,以对所述待验证数据记录进行校验;其中所述第二预设算法与所述第一预设算法相匹配。
[0026]在本方案中,采用上述形式,将第一梅克尔树根和第二梅克尔树根进行比较,如果值相同,说明数据没有被篡改,否则表示有部分的值已经改动。另外,在验证时通过目标标识MD5值的和求解出标识哈希,并通过标识哈希求解出第一待验证哈希值,在保护数据不被篡改的情况下,可以防止待验证目标标识被猜出,也可以对用户的隐私进行保护。
[0027]较佳地,将所述第一待验证哈希值和所述第二待验证哈希值通过第二预设算法计算得到所述第二梅克尔树根,具体包括:
[0028]获取待验证哈希值集合,所述待验证哈希值集合包括所述第一待验证哈希值和所述第二待验证哈希值;
[0029]按照第二预设规则依次选择所述待验证哈希值集合中的两个待验证哈希值形成
待验证哈希值组合,其中每个所述待验证哈希值仅存在于一个所述待验证哈希值组合中;其中,所述第二预设规则与所述第一预设规则相匹配;
[0030]对每个所述待验证哈希值组合中的两个所述待验证哈希值进行拼接得到第一待验证字符串,并计算所述第一待验证字符串的待验证哈希值作为第三待验证哈希值;其中,若所述待验证哈希值集合中所述待验证哈希值的数量为奇数个,则将除所有所述待验证哈希值组合之外的剩余的一个待验证哈希值直接作为所述第三待验证哈希值;
[0031]将所有的所述第三待验证哈希值进行拼接得到第二待验证字符串,并计算拼接后所述第二待验证字符串的第四待验证哈希值,所述第四待验证哈希值为所述第二梅克尔树根。
[0032]在本方案中,采用上述形式,通过第二梅克尔树根的求解,可以高效的验证任何数据的存储、处理和传输,并且能够确定数据有没有被破坏和篡改,也可以验证其他节点有没有发出虚假的数据,保障了数据的真实性。另外,在计算第梅克尔树根时,仅提供用户验证所必要的哈希值,其他的哈希值或待验证的数据项以及表示均是无法通过任何手段来推算出来,因此可以进一步保护了用户本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据的存证方法,其特征在于,所述存证方法包括:依次获取数据记录中若干个目标标识的MD5值,并将所述若干个目标标识的所述MD5值相加得到标识哈希,计算所述标识哈希的第一哈希值;计算数据记录中的若干个目标数据项的数值所对应的第二哈希值;对所述第一哈希值和所述第二哈希值通过第一预设算法计算得到第一梅克尔树根。2.如权利要求1所述的数据的存证方法,其特征在于,对所述第一哈希值和所述第二哈希值通过第一预设算法计算得到第一梅克尔树根,具体包括:获取哈希值集合,所述哈希值集合包括所述第一哈希值和所述第二哈希值;按照第一预设规则依次选择所述哈希值集合中的两个哈希值形成哈希值组合,其中每个所述哈希值仅存在于一个所述哈希值组合中;对每个所述哈希值组合中的两个所述哈希值进行拼接得到第一字符串,并计算所述第一字符串的哈希值作为第三哈希值;其中,若所述哈希值集合中所述哈希值的数量为奇数个,则将除所有所述哈希值组合之外的剩余的一个哈希值直接作为所述第三哈希值;将所有的所述第三哈希值进行拼接得到第二字符串,并计算拼接后所述第二字符串的第四哈希值,所述第四哈希值为所述第一梅克尔树根。3.如权利要求2所述的数据的存证方法,其特征在于,在所述计算数据记录中的若干个目标数据项的数值所对应的第二哈希值的步骤之前,所述存证方法还包括:对所述数据记录中所述若干个目标数据项进行编号,并根据所述编号对所述若干个目标数据项进行排序;其中,在所述按照第一预设规则依次选择所述哈希值集合中的两个哈希值形成哈希值组合的步骤中,按照所述目标数据项的编号顺序依次从所述哈希值集合中选择对应的哈希值形成所述哈希值组合。4.如权利要求1所述的数据的存证方法,其特征在于,所述存证方法还包括:将所述第一梅克尔树根进行数字签名,并将所述第一梅克尔树根的数字签名存入可信服务。5.一种数据的校验方法,其特征在于,所述校验方法包括:获取待验证数据记录的若干个待验证目标标识的MD5值,并将所述若干个待验证目标标识的所述MD5值相加得到标识哈希,计算所述标识哈希的第一待验证哈希值;获取待验证数据记录中的若干个待验证目标数据项,针对所述待验证目标数据项分别获取对应的数值和/或第二待验证哈希值;其中,当获取到数值时,还根据数值计算出对应的第二待验证哈希值;将所述第一待验证哈希值和所述第二待验证哈希值通过第二预设算法计算得到第二梅克尔树根;将所述第二梅克尔树根与根据权利要求1

4任一项所述的数据的存证方法得到的所述第一梅克尔树根进行比较,以对所述待验证数据记录进行校验;其中所述第二预设算法与所述第一预设算法相匹配。6.如权利要求5所述的数据的校验方法,其特征在于,将所述第一待验证哈希值和所述第二待验证哈希值通过第二预设算法计算得到所述第二梅克尔树根,具体包括:获取待验证哈希值集合,所述待验证哈希值集合包括所述第一待验证哈希值和所述第二待验证哈希值;
按照第二预设规则依次选择所述待验证哈希值集合中的两个待验证哈希值形成待验证哈希值组合,其中每个所述待验证哈希值仅存在于一个所述待验证哈希值组合中;其中,所述第二预设规则与所述第一预设规则相匹配;对每个所述待验证哈希值组合中的两个所述待验证哈希值进行拼接得到第一待验证字符串,并计算所述第一待验证字符串的待验证哈希值作为第三待验证哈希值;其中,若所述待验证哈希值集合中所述待验证哈希值的数量为奇数个,则将除所有所...

【专利技术属性】
技术研发人员:钱侃刘毅王健俊张麒麟
申请(专利权)人:捷玛计算机信息技术上海股份有限公司
类型:发明
国别省市:

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

1