我想知道是否有办法计算zip存档中包含的文件的MD5哈希值。
例如,我有一个包含三个文件的zip文件:Prizes.dat,Promotions.dat和OutOfDate.dat,我想计算三个文件的MD5,以便将它与给定的字符串进行比较。由于我需要在非常大量的zip档案中执行此操作,我想知道是否有办法直接执行此操作而不解压缩文件。
提前致谢!
superPanda
答案 0 :(得分:1)
偶然发现了这种需求,并发现了一种方法来检查tarball中包含的文件的哈希值,而无需将未压缩的数据写入磁盘(解压缩)。
下面是BSD示例md5
tar xOfz archive.tgz foo.txt | md5
tar xOfj archive.bz2 foo.txt | md5
或使用tar xOfz archive.tgz foo.txt | md5sum
for linux。
答案 1 :(得分:0)
我认为最简单的解决方案是计算压缩文件的MD5哈希并将其存储在文件旁边的zip存档中。如果您自己生成这些文件,则可以在压缩之前对文件进行哈希处理。如果您从其他地方接收ZIP文件,则编写一个脚本,该脚本将自动执行所有文件并添加哈希值。然后,只要您需要检查程序中的哈希值,就可以从ZIP文件中提取预先计算的哈希值。