关于用于压缩文件的免费库的建议

nea*_*ime 74 java encryption zip

我需要压缩和密码保护文件.有一个好的(免费)图书馆吗?

这需要由第三方打开,因此密码保护需要使用标准工具.

小智 48

您可以尝试Zip4j,一个纯java库来处理zip文件.它支持PKWare和AES加密方法的加密/解密.

主要特点:

  • 从Zip文件创建,添加,提取,更新,删除文件
  • 读/写密码保护的Zip文件
  • 支持AES 128/256加密
  • 支持标准Zip加密
  • 支持Zip64格式
  • 支持存储(无压缩)和Deflate压缩方法
  • 从Split Zip文件创建或提取文件(例如:z01,z02,... zip)
  • 支持Unicode文件名
  • 进度监视器

执照:

  • 看起来像Zip4j被遗弃: - / (5认同)
  • @PatrickCornelissen 它被放弃了几年,但自 2019 年中期以来再次受到支持 (2认同)

Jod*_*hen 32

经过多次搜索,我发现了三种方法:

免费提供的一组源代码,适用于单个文件zip.但是,没有许可证.用法是AesZipOutputStream.zipAndEcrypt(...). http://merkert.de/de/info/zipaes/src.zip (https://forums.oracle.com/forums/thread.jspa?threadID=1526137)

更新:此代码现已获得Apache许可,并在http://code.google.com/p/winzipaes/上发布.它对我有用(zip中的一个文件),并且很好地填补了Java开放源库中的漏洞.

商业产品(撰写本文时为500美元).我无法验证这是否有效,因为他们的试用许可证方法很复杂.它也是一个移植的.NET应用程序:http: //www.nsoftware.com/ipworks/zip/default.aspx

商业产品(撰写本文时为290美元).仅适用于Wnidows,因为它使用dll:http: //www.example-code.com/java/zip.asp


Kev*_*Day 11

这不是一个答案,但在评估潜在解决方案时要谨记这一点.

关于zip加密的一个非常重要的事情:

有几种类型的zip加密.旧的类型(原始拉链标准的一部分)根本不值得打扰(它可以在不到10分钟内通过在线轻松获得的应用程序进行破解).

如果您正在对zip文件进行任何加密,请确保使用强加密标准之一(我相信WinZip的128位和256位AES标准是最好的支持).以下是技术规格 - 我们在开发自己的Java加密zip系统时使用了这个(不能提供源代码 - 抱歉 - 它仅供内部使用)

唯一比没有加密更糟的是认为你有加密和错误:-)

  • 你可能想要支持两者.AES加密的zip文件是aFAIK,Windows资源管理器尚不支持,而PKZIP加密的zip文件是.您可以查看任一类型的加密zip文件的条目,但只能使用Windows资源管理器从PKZIP加密(弱加密)zipfile中提取.您需要在Windows上使用WinZip或其他合适的工具来打开AES加密的拉链.(免费的DotNetZip附带了这样的工具). (2认同)