ZIP 文件规范加密 header
ZIP file specification encryption header
我正在阅读 zip 文件 specification,但没有解释存档中文件的加密 header 结构。 header顺序是这样的:
[local file header 1]
[encryption header 1]
[file data 1]
[data descriptor 1]
在本地文件 header 之后,规范在跳过加密 header 部分时说了以下内容:
Immediately following the local header for a file
SHOULD be placed the compressed or stored data for the file.
If the file is encrypted, the encryption header for the file
SHOULD be placed after the local header and before the file
data. The series of [local file header][encryption header]
[file data][data descriptor] repeats for each file in the
.ZIP archive.
我正在搜索此加密 header 的结构,因为该规范没有对其进行解释。有谁知道这是怎么回事?
6.1传统PKWARE解密
...
6.1.3 每个加密文件开头多存储12字节
为该文件定义加密 header 的数据区域。这
encryption header 原本设置为随机值,然后
本身使用三个 32 位密钥加密。关键值是
使用提供的加密密码进行初始化。每个字节后
已加密,然后使用 pseudo-random 数字更新密钥
生成技术结合相同的 CRC-32 算法
在 PKZIP 中使用并在本文档的其他地方描述。
...
解密规范header取决于所使用的加密算法。有一个 Traditional PKWARE Encryption(标准),但这已经过时,因此应该使用自定义 encryption/decryption。
RAR 5.0 archive format
在 https://www.rarlab.com/technote.htm
上看起来不错
您可能会发现它对项目有帮助 sharpcompress
:
https://github.com/adamhathcock/sharpcompress/tree/master/src/SharpCompress/Common/Zip
我正在阅读 zip 文件 specification,但没有解释存档中文件的加密 header 结构。 header顺序是这样的:
[local file header 1] [encryption header 1] [file data 1] [data descriptor 1]
在本地文件 header 之后,规范在跳过加密 header 部分时说了以下内容:
Immediately following the local header for a file SHOULD be placed the compressed or stored data for the file. If the file is encrypted, the encryption header for the file SHOULD be placed after the local header and before the file data. The series of [local file header][encryption header] [file data][data descriptor] repeats for each file in the .ZIP archive.
我正在搜索此加密 header 的结构,因为该规范没有对其进行解释。有谁知道这是怎么回事?
6.1传统PKWARE解密
...
6.1.3 每个加密文件开头多存储12字节 为该文件定义加密 header 的数据区域。这 encryption header 原本设置为随机值,然后 本身使用三个 32 位密钥加密。关键值是 使用提供的加密密码进行初始化。每个字节后 已加密,然后使用 pseudo-random 数字更新密钥 生成技术结合相同的 CRC-32 算法 在 PKZIP 中使用并在本文档的其他地方描述。
...
解密规范header取决于所使用的加密算法。有一个 Traditional PKWARE Encryption(标准),但这已经过时,因此应该使用自定义 encryption/decryption。
RAR 5.0 archive format
在 https://www.rarlab.com/technote.htm
您可能会发现它对项目有帮助 sharpcompress
:
https://github.com/adamhathcock/sharpcompress/tree/master/src/SharpCompress/Common/Zip