2012-07-22 59 views
4

我已经使用php创建了数百个文件夹和文本文件,然后将它们添加到zip存档。Zip文件包含相同的文件,但具有不同的哈希值?

这一切工作正常,但如果我使用同一个文件夹和文件的另一个zip压缩包,新的存档将有不同的hash来的第一个。如果我使用winrar而不是php创建一个存档,这是一样的。

似乎只表现出不同的散列当我压缩我已经通过PHP创建的文件,但他们开的罚款。

很奇怪的人阐明这个任何光线?

谢谢

+0

我猜,也许不同的创建时间戳记这是压缩文件的一部分? – 2012-07-22 20:13:39

+0

@orn这些文件是未触及过的,我可以一个接一个地创建2个拉链,它将是相同的。 – arbme 2012-07-22 20:15:05

+0

@arbme,他不是说可能在**创建的zip文件中有时间戳*。既然你没有在同一时间创建它们,它们会有所不同。 – 2012-07-22 20:24:10

回答

5

这些文件当然有一些区别。如果长度不完全相同,散列值将会不同。您可以使用比较十六进制编辑器(例如Hex Workshop)来查看究竟有哪些差异。

可能性,来我的脑海:

  1. 作为@orn提到的,有可能是你使用的是ZIP格式(不知道)时间戳。
  2. 将文件添加到归档可能会有所不同(取决于你如何选择它们/大厦源阵列)的顺序。
+0

#2是我的问题,谢谢 – arbme 2012-07-22 20:38:20

+0

这是不对的,拉链总是会迫使除非内部创建和修改时间https://stackoverflow.com/questions/9714139/why-does-zipping-the-same-content-twice-不同给与两个文件与不同sha1 – 2017-09-26 08:09:54

+0

告诉我什么是我的答案具体错了。 – 2017-09-26 22:11:56

相关问题