文件验证方法、装置、设备及存储介质与流程

文档序号:33622649发布日期:2023-03-25 13:07阅读:来源:国知局

技术特征:
1.一种文件验证方法,包括:对每批排序后的多个原始文件进行哈希计算,得到每批排序后的多个所述原始文件的原始哈希值;基于多个所述原始文件的原始哈希值,构建所述每批排序后的多个原始文件的原始文件默克尔树;将所述原始文件默克尔树的根节点原始哈希值进行固化存储,所述固化存储包括区块链固化存储或电子认证服务固化存储;构建每批排序后的多个待验证文件的待验证文件默克尔树,得到所述待验证文件默克尔树的根节点哈希值,其中,所述待验证文件默克尔树的构建规则与所述原始文件默克尔树的构建规则一致;将固化存储的所述原始文件默克尔树的根节点原始哈希值和所述待验证文件默克尔树的根节点哈希值进行比较,得到所述待验证文件的真实性。2.根据权利要求1所述的方法,其中,在将所述原始文件默克尔树的根节点原始哈希值进行固化存储之前,还包括:确定所述原始文件默克尔树的根节点原始哈希值。3.根据权利要求2所述的方法,其中,所述确定所述原始文件默克尔树的根节点原始哈希值,包括:将每个所述原始文件的原始哈希值作为所述原始文件默克尔树的叶子节点原始哈希值;将每两个相邻的所述叶子节点原始哈希值进行哈希计算,得到上一层中间节点原始哈希值;将每两个相邻的所述上一层中间节点原始哈希值对应的中间节点作为当前层节点,重复执行将每两个相邻的所述当前层节点的原始哈希值进行哈希计算,直至得到每批排序后的多个原始文件的所述原始文件默克尔树的根节点原始哈希值。4.根据权利要求3所述的方法,其中,所述将每两个相邻的所述叶子节点原始哈希值进行哈希计算,得到上一层中间节点原始哈希值,包括:在所述叶子节点原始哈希值的数量为奇数的情况下,对最后一个所述叶子节点原始哈希值进行复制,得到新的叶子节点原始哈希值;根据所述叶子节点原始哈希值和新的叶子节点原始哈希值,得到偶数个所述叶子节点原始哈希值;将偶数个每两个相邻的所述叶子节点原始哈希值进行哈希计算,得到上一层所述中间节点原始哈希值。5.根据权利要求3所述的方法,还包括:将所述原始文件默克尔树的叶子节点原始哈希值存储至关系型数据库中。6.根据权利要求5所述的方法,其中,所述将固化存储的所述原始文件默克尔树的根节点原始哈希值和所述待验证文件默克尔树的根节点哈希值进行比较,得到所述待验证文件的真实性,包括:将固化存储的所述原始文件默克尔树的根节点原始哈希值和所述待验证文件默克尔树的根节点哈希值进行比较,得到比较结果;
在所述比较结果为不一致的情况下,调用所述关系型数据库,遍历所述原始文件默克尔树的叶子节点哈希值与所述待验证文件默克尔树的叶子节点哈希值,确定与所述原始文件默克尔树的叶子节点不一致的所述待验证文件默克尔树的叶子节点哈希值;将不一致的所述待验证文件默克尔树的叶子节点哈希值对应的所述待验证文件确定为不真实文件。7.根据权利要求1所述的方法,其中,所述对每批排序后的多个原始文件进行哈希计算,得到每批排序后的多个所述原始文件的原始哈希值之前,包括:将多个原始文件按照预设维度进行分批,得到每批对应的多个原始文件;对所述每批对应的多个原始文件按照预设顺序进行排序,得到每批排序后的多个原始文件。8.一种文件验证装置,包括:计算模块,用于对每批排序后的多个原始文件进行哈希计算,得到每批排序后的多个所述原始文件的原始哈希值;第一构建模块,用于基于多个所述原始文件的原始哈希值,构建所述每批排序后的多个原始文件的原始文件默克尔树;第一存储模块,用于将所述原始文件默克尔树的根节点原始哈希值进行固化存储,所述固化存储包括区块链固化存储或电子认证服务固化存储;第二构建模块,用于构建每批排序后的多个待验证文件的待验证文件默克尔树,得到所述待验证文件默克尔树的根节点哈希值,其中,所述待验证文件默克尔树的构建规则与所述原始文件默克尔树的构建规则一致;比较模块,用于将固化存储的所述原始文件默克尔树的根节点原始哈希值和所述待验证文件默克尔树的根节点哈希值进行比较,得到所述待验证文件的真实性。9.一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~7中任一项所述的方法。10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~7中任一项所述的方法。11.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~7中任一项所述的方法。

技术总结
本公开提供了一种文件验证方法、装置、设备及存储介质,应用于电子文件存证与验证技术领域。该方法包括:对每批排序后的多个原始文件进行哈希计算,得到每批排序后的多个原始文件的原始哈希值;基于多个原始文件的原始哈希值,构建每批排序后的多个原始文件的原始文件默克尔树;将原始文件默克尔树的根节点原始哈希值进行固化存储;构建每批排序后的多个待验证文件的待验证文件默克尔树,得到待验证文件默克尔树的根节点哈希值,其中,待验证文件默克尔树的构建规则与原始文件默克尔树的构建规则一致;将固化存储的原始文件默克尔树的根节点原始哈希值和待验证文件默克尔树的根节点哈希值进行比较,得到待验证文件的真实性。得到待验证文件的真实性。得到待验证文件的真实性。


技术研发人员:沈文俊 丁诗璟 高明 张小石
受保护的技术使用者:建信金融科技有限责任公司
技术研发日:2022.12.15
技术公布日:2023/3/24
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1