问题标签 [pkware]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
148 浏览

encryption - PKWARE 强加密算法

我想知道PKWARE 强加密算法

ZIP 文件格式规范 v6.3.5介绍了 PKWARE 的强加密7.0 强加密规范)。此描述未完成,无法在应用程序中实现此加密。

我想知道有没有使用这种加密算法的有效源代码?什么语言都无所谓。我打算将它添加到我自己的应用程序中,但尚未成功。

PS这不是6.0 传统 PKWARE 加密中描述的传统 PKWARE 加密

0 投票
1 回答
68 浏览

encryption - PKWARE ZIP 中央目录加密

ZIP 文件格式规范 v6.3.5中有7.3 单一密码 - 中央目录加密

似乎只有应用程序支持此功能SecureZip by PKWARE。有谁知道这个功能究竟是如何实现的?我正在寻找此功能的任何工作来源和语言;我计划将此功能添加到我的应用程序中。

0 投票
1 回答
799 浏览

python - 如何提取在 Python 中使用 PKWARE SecureZip 压缩的受密码保护的 zip 文件?(视窗 10)

我正在尝试提取已在 Python 中使用 PKWARE SecureZip 压缩的受密码保护的zip 文件的内容。我已经尝试过的模块是 zipfile 和 pyzipper。但是这些模块的方法总是返回“NotImplementedError: strong encryption (flag bit 6)”。

我试图通过检查从命令提示符中提取这些 zip 文件的方法来解决这个问题。但是,我在安装目录中没有看到“pkzipc.exe”(如文档中所述)。

PS:我没有在我的工作计算机(我正在尝试此提取)上安装其他软件所需的管理员权限。

谁能帮我解决这个问题?

0 投票
1 回答
146 浏览

binary - 什么文件格式有这个神奇的标题?

我有一堆从元数据中可以看出应该是 PDF 的文件。其中一些确实是完整的 PDF。其中一些似乎是 PDF 文件的第一部分,尽管它们缺少 the%%EOF和其他页脚值。

其他似乎是 PDF 文件的最后一部分(它们没有任何 PDF 的标题,但它们确实有这些%%EOF东西)。奇怪的是,它们从以下 16 字节的魔术头开始:

0x50, 0x4B, 0x57, 0x41, 0x52, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x49, 0x4E, 0x33, 0x32( PKWARE WIN32)。

我做了很多可能会产生误导的推论,但它似乎不是一种压缩方案(这些%%EOF东西是纯文本的),并且在我被允许深入研究的几个文件中,开始之间存在相关性有了这种魔力,看起来就像 PDF 二进制文件的最后一段。

有人对这里可能使用的文件格式有任何提示吗?

更新:我现在观察到PKWARE WIN32非 PDF 文件也会发生这种情况。推测还表明这些文件以类似的方式拆分。

更新 2:事实证明,此PKWARE WIN32标头实际上以重复的间隔出现,其位置可以通过紧接在标头之前的一些字节来预测。

我还收到了一些间接的传闻,这些传闻表明这些文件被压缩并且没有分成多个部分,尽管在 3 个案例中有 2 个告诉我输出文件大小我的二进制文件只小到可以忽略不计。

谜团还在继续。

0 投票
1 回答
54 浏览

php - PHP8 ZipArchive EM 常量 TRAD_PKWARE 不起作用

我使用带有密码的 ZipArchive::EM_TRAD_PKWARE,但 zip 文件未加密。我认为 pkware 不工作。有解决方案吗?

谢谢

0 投票
1 回答
19 浏览

compression - 为什么 DCL Implode 没有压缩器?

为什么PKWare数据压缩库的Implode没有开源实现?这是压缩方法 10,而不是 6。

有许多版本的解压器。反过来写一个压缩器是不是很难?在我自己尝试之前,我对答案很感兴趣。

在回答为什么的问题时,这是因为我需要双向传输数据,并且由于遗留限制我不能使用更新的方法。