修改zip文件的md5哈希值的最快方法

时间:2016-08-20 14:48:53

标签: unix hash zip sh

我有大约500个zip文件,我必须放在一个目录中,以便进程处理它们。

该进程在处理之前计算文件的md5哈希值。如果文件的哈希值与它所知道的哈希值相同(存储在数据库中),它将忽略zip文件并继续下一个。

每个zip文件包含两个文件:

  • excel文档
  • 包含有关Excel文档的一些元数据的XML文件

作为测试的一部分,我需要多次处理所有zip文件。目前,为了让进程不要忽略它们,我只是在运行测试之前清除数据库中的哈希值。

有没有办法可以运行测试而无需清除记录的哈希值?我尝试重命名zip文件,但似乎没有改变哈希值。

是否有快速方法对zip文件中的文件进行更改,以便哈希值每次都更改(使用Unix或Windows中的任何工具)?

作为一个例子,如果我提取所有文件(每个文件夹在自己的文件夹中),有没有办法我可以对xml做一个小改动并重新压缩文件(假设它会更加棘手)更新excel文档)?

由于

1 个答案:

答案 0 :(得分:2)

您可以更改zip文件的注释(-z--archive-comment选项)。此注释存储在zip文件的末尾,不会更改存储在其中的文件:

md5sum test.zip # e5d3c08c0c45d1cbdd0760af0b29e8e0
echo "test at $(date)"|zip --archive-comment test.zip
md5sum test.zip # b13fd1f3b75561eec68fdfde0c26a466