我正在读取压缩文件规格说明,对于存档中的文件的加密头是如何构造的,没有任何解释。标题顺序如下所示:
本地文件头1文件数据1
在本地文件头之后,规范在跳过加密头部分时说明如下:
在文件的本地标头之后,应立即放置文件的压缩或存储数据。如果文件是加密的,则应将文件的加密头放在本地标头之后和文件数据之前。本地文件头文件数据系列对.ZIP存档中的每个文件重复。
我正在寻找这个加密头是如何构造的,因为这个规范没有解释它。有人知道这是怎么回事吗?
发布于 2020-10-17 01:18:11
6.1传统PKWARE解密
..。
6.1.3每个加密文件在定义该文件的加密头的数据区开始时有额外的12个字节。加密头最初被设置为随机值,然后使用三个32位密钥进行加密。使用提供的加密密码初始化密钥值。在每个字节被加密后,然后使用伪随机数生成技术更新密钥,并结合PKZIP中使用的相同的CRC-32算法,并在本文档的其他部分进行描述。
..。
解密头的规范取决于所使用的加密算法。有一个传统的PKWARE加密(标准),但这是过时的,因此应该使用自定义加密/解密。
发布于 2020-10-23 03:49:34
RAR 5.0 archive format在https://www.rarlab.com/technote.htm上看上去是一个很好的文档
您可能会发现它在sharpcompress:https://github.com/adamhathcock/sharpcompress/tree/master/src/SharpCompress/Common/Zip项目中很有用。
https://stackoverflow.com/questions/64351481
复制相似问题