计算压缩后的zip归档文件的MD5哈希值



我想知道是否有一种方法可以计算zip存档中包含的文件的MD5哈希值。

例如,我有一个zip文件,其中包含三个文件:Prizes.dat, Promotions.dat和OutOfDate.dat,我想计算这三个文件的MD5以将其与给定字符串进行比较。由于我需要在非常非常大的zip档案上执行此操作,我想知道是否有一种方法可以直接执行此操作而无需解压缩文件。

提前感谢!

superPanda

偶然发现了这种需求,并发现了一种方法,可以检查tarball中包含的文件的哈希值,而无需将未压缩的数据写入磁盘(解压缩)。下面的BSD示例,因此md5

tar xOfz archive.tgz foo.txt | md5
tar xOfj archive.bz2 foo.txt | md5

或者使用tar xOfz archive.tgz foo.txt | md5sum

为linux。

我认为最简单的解决方案是计算压缩文件的MD5哈希值,并将其与文件一起存储在zip存档中。如果您自己生成这些文件,您可以在压缩文件之前对其进行散列处理。如果从其他地方接收ZIP文件,那么编写一个脚本,自动遍历所有文件并添加哈希值。然后,当您需要检查程序中的哈希值时,您可以从ZIP文件中提取预计算的哈希值。

最新更新