`
鳄鱼旭
  • 浏览: 76444 次
文章分类
社区版块
存档分类
最新评论

Zip4j扩展

 
阅读更多
项目当中有这样一个需求:用户下载的内容需要以加密zip包个格式发送给用户,但是发现JDK中对ZIP压缩并不支持加密,因此考虑使用第三方库来实现这个功能:
先在Github上找了一个 https://code.google.com/p/winzipaes/ winzipaes,支持ZIP加密,但是只支持AES256格式的(只有Winzip才能解压),另外一个比较严重的问题是JDK默认的JCE Provider并不支持256位的加密算法,如果替换服务器上的JCE Provider也不是个好的做法(需要替换JDK目录下部分文件)。
于是又找了另外一个库:zip4j: http://www.lingala.net/zip4j/支持的加密算法比较丰富,但是有个很头痛的问题:加密的目标只能是文件(只能传java.io.File或者文件名),但是应用里面是不希望生成文件的,于是花了2个小时对这zip4j进行了简单的扩展:
1.ZipEngineEx.java(ZipEngine的扩展):屏蔽了对文件流的依赖,支持OutputStream;
2.SplitOutputStreamEx.java(SplitOutputStream的扩展):屏蔽了对文件流的依赖,支持OutputStream;
3.ZipStream.java:对ZipEngineEx的包装,方便使用者调用,地位有点类似于ZipFile。

这个封装有几个大的问题,由于急着用,目前已经可以满足需要,就先这样了:
1.不支持多个文件的ZIP,原因待查;
2.不支持中文,设置了字符集编码没有效果(对原始库也有这个问题);
3.不支持文件分割:这个问题倒是不大。

zip4j灵活程度比较差,打算抽时间写个扩展性好一点的zip加密库。
0
7
分享到:
评论

相关推荐

    zip4j.jar包下载 包含zip4j-2.10.0版本

    7. 支持ZIP64:对于超过4GB的大型ZIP文件,Zip4j支持ZIP64扩展,能够处理超出传统ZIP格式限制的文件大小。 8. 多线程支持:Zip4j允许在多线程环境中并行处理ZIP文件,从而提高性能。 9. 错误处理和日志:Zip4j提供...

    zip4j-1.3.2.jar 包下载,处理zip压缩文件的开发包

    3. **处理ZIP64**:对于超过ZIP格式限制的大文件,zip4j支持ZIP64扩展,能够处理大于4GB的ZIP文件。 五、集成到项目中 将zip4j-1.3.2.jar添加到项目的类路径中,即可开始使用。如果是Maven项目,可以在pom.xml文件...

    zip4j-1.3.2

    此外,zip4j-1.3.2还支持处理ZIP64格式,这是一种扩展的ZIP格式,用于处理超过4GB的大文件或包含大量条目的ZIP文件。这使得zip4j在处理大数据量文件时也能游刃有余。 在实际项目中,zip4j-1.3.2常用于自动化备份、...

    ZIP4J压缩包加密解密

    除了基本的加密解密功能,ZIP4J还提供了其他高级特性,如支持ZIP64扩展(处理大于4GB的大文件),以及处理自解压(Self-Extracting, SFX)ZIP文件的能力。在实际开发中,这些特性可以帮助我们更灵活、安全地处理ZIP...

    Java压缩解压ZIP之Zip4j

    通过分析源码,我们可以学习到如何扩展Zip4j的功能,或者在特定场景下优化性能。 在实际开发中,使用Zip4j库可以大大简化Java程序中的文件压缩和解压缩任务,而且它的API易于理解和使用。配合适当的错误处理和异常...

    zip4j 1.3.1

    例如,它不支持最新的ZIP64扩展,这意味着对于非常大的ZIP文件(超过4GB),zip4j可能无法正确处理。此外,zip4j也不支持一些高级的ZIP特性,如AES加密。 为了克服这些限制,开发者可以选择更新的版本或考虑其他...

    zip4j相关jar包(zip4j-1.3.2.jar)

    zip4j还支持zip64格式,这是ZIP文件格式的一个扩展,用于处理大于4GB的文件和包含大量文件的ZIP档案。在传统的ZIP格式中,文件大小和数量受到限制,zip64则突破了这些限制,使得zip4j能够处理大数据量的场景,这对于...

    Zip4j 2015年最新官网文件

    Zip4j是一款强大的Java库,专门用于处理ZIP文件的压缩和解压缩操作。这款开源工具在2015年发布的新版本中提供了诸多先进的功能,包括对ZIP文件的加密支持,使得开发者能够在Java环境中安全地处理包含敏感信息的档案...

    zip4j_1.3.2.jar

    `zip4j`是一个开源的Java库,由Srinivasan Rajagopalan创建,其主要功能包括创建、读取、更新和删除ZIP文件,支持AES加密,以及对ZIP64扩展的支持,这使得它可以处理非常大的ZIP文件。`zip4j_1.3.2.jar`是该库的一个...

    zip4j1.3.2jar包相关,包括源码

    Zip4j是一个强大的Java库,用于处理ZIP文件。它提供了创建、读取、写入、解压、加密和管理ZIP文件的功能。这个1.3.2版本的jar包包括了库的所有功能,使得开发者能够在Java应用程序中方便地操作ZIP文件。源码的提供...

    zip4j-1.3.2.jar包和使用范例.zip

    `zip4j-1.3.2.jar` 是一个专门用于处理ZIP格式文件的Java库,它提供了方便的API供开发者进行文件的压缩和解压操作,同时支持加密功能。本教程将详细介绍如何使用`zip4j`库以及提供相关的使用示例。 首先,`zip4j`库...

    zip4j需要的jar包(1.3.1)

    "支持zip64格式"则表明Zip4j可以处理超过4GB的大文件,因为传统的ZIP格式在设计时限制了单个文件或整个ZIP文件的最大大小,zip64扩展就是为了打破这些限制。 在实际应用中,使用Zip4j进行文件操作非常直观。例如,...

    zip4j最新相关资源

    Zip4j是一款强大的Java库,专门用于处理ZIP文件。它提供了丰富的功能,包括创建、读取、更新和解压ZIP文件,以及加密和解密ZIP文件内容。在Java开发中,如果你需要对ZIP文件进行操作,Zip4j是一个非常实用的工具。...

    dom4j-2.1.3.zip

    另一份重要的资源是"dom4j-2.1.3-sources.jar",它提供了DOM4J库的源代码,允许开发者深入研究DOM4J的内部实现,对于理解DOM4J的工作原理、进行扩展或者调试都是不可或缺的。通过阅读源代码,开发者可以学习到如何...

    zip4j:Zip4J用于在Java中压缩和解压缩文件

    【标题】: "zip4j: 使用Zip4J在Java中进行文件压缩与解压缩" 【正文】: 在Java编程环境中,处理压缩和解压缩文件是常见的任务之...在实际开发中,根据具体需求灵活运用Zip4J,可以显著提高代码的可维护性和可扩展性。

    Java_Quarkus Langchain4j扩展.zip

    Java_Quarkus Langchain4j扩展

    log4J日志.zip

    在“log4j日志.zip”压缩包中,包含的可能是Log4j的配置文件(如log4j.properties或log4j.xml)。这个文件定义了日志的级别、输出位置和格式。例如: ```properties # log4j.properties 示例 log4j.rootLogger=...

    slf4j-1.6.2.zip

    6. **slf4j-ext.jar**:包含了扩展功能,如参数化日志和异步日志记录。 使用SLF4J的关键在于,它允许你在部署时决定使用哪个具体的日志实现。例如,如果你在开发阶段使用了slf4j-simple.jar,但生产环境中想要使用...

    logging-log4j2-log4j-2.15.0-rc2.zip

    《深入理解Log4j 2.15.0-rc2:日志处理的关键技术解析》 Log4j,作为Java领域广泛使用的日志记录框架,一直以来都是开发者们的重要工具。这次我们关注的是其最新版本——logging-log4j2-log4j-2.15.0-rc2。这个版本...

Global site tag (gtag.js) - Google Analytics