file - ZIP 文件规范加密标头
问题描述
我正在阅读 zip 文件规范,但没有解释存档中文件的加密标头的结构。标题顺序是这样的:
[本地文件头 1] [加密头 1] [文件数据 1] [数据描述符 1]
在本地文件头之后,规范说明了以下内容,同时跳过了加密头部分:
应紧跟文件的本地标头之后放置文件的压缩或存储数据。如果文件被加密,文件的加密头应该放在本地头之后和文件数据之前。[本地文件头][加密头][文件数据][数据描述符]系列对 .ZIP 存档中的每个文件重复。
我正在寻找这个加密头的结构,因为这个规范没有解释它。有谁知道这是如何工作的?
解决方案
6.1 传统PKWARE解密
...
6.1.3 每个加密文件都有一个额外的 12 字节存储在定义该文件加密头的数据区域的开头。加密标头最初设置为随机值,然后使用三个 32 位密钥对其自身进行加密。使用提供的加密密码初始化密钥值。加密每个字节后,然后使用伪随机数生成技术结合 PKZIP 中使用的相同 CRC-32 算法更新密钥,并在本文档的其他地方进行描述。
...
解密标头的规范取决于使用的加密算法。有一个传统的 PKWARE 加密(标准),但这已经过时,因此应该使用自定义加密/解密。
推荐阅读
- powershell - powershell Collection 已修改停止所有正在运行的手动服务
- sql - SSRS 多值参数过滤
- java - Kurento 复合网格记录
- intellij-idea - intellij idea 无法从终端打开当前目录
- django - 如何停止 Django PasswordInput 预填表单
- python - 使用统计模块的循环导入问题
- c# - 如何将此 HashSHA256(("").Encode("utf-8")).HexDigest() 转换为 C#?
- java - 在我的 vertx 应用程序启动时测试 Mongo 连接
- reactjs - onMouseDown 不触发 useEffect
- javascript - 如何检测故障并重置/重启 webassembly 模块?