gpt4 book ai didi

java - 为什么两个看起来相同的 excel 文件的 MD5 哈希值不同

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:30:20 24 4
gpt4 key购买 nike

我有两个 excel 文件保存在不同的位置。一种是直接从浏览器下载,另一种是使用selenium驱动下载。我手动检查了两个文件,两者完全相同。但是为两个文件生成的 MD5 哈希值不同。如何解决此问题。

最佳答案

MD5 是一种散列函数。人们使用散列函数来验证文件、流或其他资源的完整性。当谈到散列函数时,当您验证文件的完整性时,您是在位级别验证文件是否相同。

这样做的后果是,当您在按位级别比较具有完整性约束的文件时,哈希函数可以完美运行。

但是,考虑到 Excel 电子表格的性质。如果在逐位级别上从文档中添加、删除或移动了一位,那么该文件的哈希值将完全不同。 (不总是,但不要担心。)

由于 Excel 的驱动程序与 selenium 使用的驱动程序有很大不同,特别是考虑到 selenium 可能对文件进行的压缩和其他更改/优化,那么 - 当然 - 哈希将有所不同.

我的建议: 首先:在 diff 中提取文件并找出这两个文件之间的不同之处。几乎(但不完全)公理化的是,如果两个文件的哈希值不同,那么这些文件也不同。

其次:编写一个驱动程序来比较这些电子表格中的信息,以验证文档的完整性(并且您可以获取该信息的哈希值),而不是按位验证文件。

我建议将两者都导出为 CSV 文件并逐行比较两者。

关于java - 为什么两个看起来相同的 excel 文件的 MD5 哈希值不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12516044/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com