我需要解压有密码保护的文件。
我正在寻找可用于Windows项目的库,而不是实用程序。
要求:
- 支持密码
- C或C++
- 不依赖MFC
- 希望它不是DLL(因为它们通常以某些不兼容的模式编译)
已经在SO和Google上搜索过,不幸的是还没有找到任何库。
- 最受推荐的“zlib”不支持密码;
- Lucian Wischick的“Zip Utils”(此处)很好,但存在一个问题-提取的文件在结尾处被裁剪;
- 我找到的另一个库依赖于MFC。
我无法相信在2012年这个简单的任务没有解决方案。请帮帮我。
我需要解压有密码保护的文件。
我正在寻找可用于Windows项目的库,而不是实用程序。
要求:
已经在SO和Google上搜索过,不幸的是还没有找到任何库。
我无法相信在2012年这个简单的任务没有解决方案。请帮帮我。
最终使用了Lucian Wischick的Zip Utils。
发现一个问题——提取的文件末尾被截断了12个字节。我找到了解决办法。
要解决这个问题,请删除文件“unzip.cpp”中的第3657行:
pfile_in_zip_read_info->rest_read_uncompressed-=uDoEncHead;
测试一下你的受密码保护
文件是否可以通过7-zip进行解压缩。
如果可以,那么你应该能够将代码库(作为dll)使用。
该工具支持zip解压缩(ZlibDecoder)和两种可能的加密技术(ZipCrypto和ZipStrong)。
至于如何使用它的说明,7-zip文件管理器工具使用7-zip dll来完成所有工作。您需要查看命令行工具7z
的源代码。
您可以尝试使用Info ZIP。它是一个开源软件,支持存档加密: http://sourceforge.net/projects/infozip/