我想知道是否有一种方法可以计算压缩存档中包含的文件的MD5散列。
例如,我有一个zip文件,其中包含三个文件: Prizes.dat、Promotions.dat和OutOfDate.dat,我希望计算这三个文件的MD5,以便将其与给定的字符串进行比较。因为我需要在非常大数量的zip档案上这样做,所以我想知道是否有一种方法可以直接做到这一点,而不需要解压缩文件。
提前感谢!
superPanda
发布于 2014-03-29 11:21:00
我认为最简单的解决方案是计算压缩文件的MD5哈希,并将其与文件一起存储在zip存档中。如果您自己生成这些文件,您可以先散列文件,然后再将其压缩。如果您从其他地方接收到ZIP文件,那么编写一个脚本,它将自动遍历所有文件并添加散列。然后,每当您需要检查程序中的哈希时,就可以从ZIP文件中提取预计算的哈希。
发布于 2017-01-18 09:30:52
偶然发现了这一需求,并发现了一种方法,可以在不将未压缩数据写入磁盘(解压缩)的情况下检查tarball中包含的文件的散列。下面是md5
的BSD示例
tar xOfz archive.tgz foo.txt | md5
tar xOfj archive.bz2 foo.txt | md5
或者使用tar xOfz archive.tgz foo.txt | md5sum
对linux来说。
https://stackoverflow.com/questions/22735644
复制相似问题