2013-10-22 75 views
4

當我在Linux中壓縮(Zip 2.31)同一個文件時,我每次都得到不同的校驗和。我怎麼能保持上次同樣的md5sum? 我使用最新的zip更新從百勝Zip工具在Linux中每次給我不同的md5sum

+0

最可能的原因是您正在壓縮的文件不斷變化。 – NPE

+0

該文件是相同的,相同的創建日期,相同的大小,相同的校驗和 – Marvado

+0

我的建議:(1)詢問一個網站問題是在主題(例如http://superuser.com/)。 (2)包含一個完整的,可重複的shell會話來展示行爲。 – NPE

回答

6

正在生成的壓縮文件不只包含壓縮文件數據,同時也「額外文件屬性」(如refered在zipdocumentation),如文件時間戳,文件屬性...

如果此元數據在壓縮之間不同,您將永遠得不到相同的校驗和,因爲壓縮文件的元數據已更改並已包含在歸檔中。

您可以使用zip-X選項(或長--no-extra選項),以避免包括文件附加屬性在存檔:

zip -X foo.zip foo-file 

此命令的逐次運行,而無需對文件的修改不得更改檔案的散列。

+0

源文件每次都有相同的校驗和。這很奇怪 – Marvado

+0

是的,但是當你將文件添加到壓縮文件中時,將元數據(文件modificacion datetime)添加到壓縮文件中。所以,zip是不同的,chechsums也是如此 –

+0

如何防止發生 – Marvado

相關問題