2012-07-22 82 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

相關問題