3

我需要解压缩受密码保护的文件。

我要求将库包含到我的 Windows 项目中,而不是实用程序。

要求:

  • 支持密码
  • C 或 C++
  • 不依赖于 MFC
  • 希望它不是 DLL(因为它们通常以某种不兼容的模式编译)

已经搜索过 SO 和 Google,不幸的是还没有找到库。

  • 最推荐的“zlib”不支持密码;
  • Lucian Wischick 的“Zip Utils”(这里)很好,但有一个错误 - 提取的文件最后被裁剪;
  • 我发现的另一个库依赖于 MFC。

我不敢相信 2012 年这个简单的任务没有解决方案。请帮忙。

4

3 回答 3

4

最终使用了 Lucian Wischick 的“Zip Utils”

有一个错误 - 提取的文件最后被裁剪了 12 个字节。我发现了如何解决它。

要修复此错误,请删除文件“unzip.cpp”中的第 3657 行:

pfile_in_zip_read_info->rest_read_uncompressed-=uDoEncHead;
于 2012-12-29T13:12:29.543 回答
2

更新:使用 7-zip 作为

测试您的password protected文件是否可以使用7-zip解压缩。
如果是这种情况,那么您应该能够使用代码库(作为 dll)。

该工具支持 zip 解压缩 (ZlibDecoder) 和 2 种可能的不同加密技术 (ZipCrypto & ZipStrong)。


至于如何使用它,7-zip 文件管理器工具使用 7-zip dll 来完成所有工作。您需要查看命令行工具的源代码7z

于 2012-12-28T20:07:25.693 回答
0

你可以试试 Info ZIP。它是开源的,并且支持存档加密:http: //sourceforge.net/projects/infozip/

于 2013-01-02T15:12:50.700 回答