美文网首页
相同文件夹zip后md5值不同

相同文件夹zip后md5值不同

作者: 天马行空爱做梦 | 来源:发表于2021-07-24 09:19 被阅读0次

       众所周知,一个文件的md5值是和文件内容有关,值唯一,出现相同md5值的概率比较小。相同文件zip出来的md5值一般相同,不同文件zip出来的md5值一般不会相同。但是你见过相同的文件zip之后,md5值还不同么?!

       最近在交付的时候,遇到了。相同文件不同时刻zip出来的zip包,md5值竟然不同!所以一定是zip出来的包内容变了。追溯下我的工作流程。 我习惯性的用zip -r file.zip file/ 的形式来zip出来一个文件,然后直接md5sum file.zip 来查看对应的zip包的md5值。

       问题出在了zip过程。具体自己bing一下zip后文件内容组成。这里只说结论和解决方法哈
       造成md5值不同的变量是zip文件中的 Access Time。它存储在zip文件的 local file header 的额外字段 (extra fields) 的扩展时间戳字段 (Extended Timestamp Extra Field) 中。

       那么如何zip出一个和时间无关的zip包呢?

      如果你想每次 zip 打包出来的文件内容都一样,使用 -X 或 --no-extra 参数可以避免将 extra fields 打包进去就可以避免 Access Time对md5值的影响了。

    相关文章

      网友评论

          本文标题:相同文件夹zip后md5值不同

          本文链接:https://www.haomeiwen.com/subject/onmmmltx.html