JZlib-纯Java中的zlib

JZlib是对zlib公司在纯Java中。
黑客攻击这些东西的第一个也是最后一个目标是为纯Java SSH系统添加数据包压缩支持。


Zlib公司

zlib被设计成一个免费的、通用的、,在法律上无负担的(即不受任何专利保护)无损数据压缩库,可用于几乎任何计算机硬件和操作系统。zlib由编写Jean-loup盖利(压缩)和马克艾德勒(减压)。


特征

  • 不用说,JZlib可以使数据膨胀,而zlib会使数据膨胀JZlib可以生成压缩数据,这是可以接受的,并且由zlib进行了膨胀。
  • JZlib支持所有压缩级别和zlib中的所有刷新模式。
  • JZlib不支持gzip文件处理支持。
  • 性能尚未评估,但在压缩/膨胀数据流方面不会那么糟糕在低带宽网络上。
  • JZlib是根据BSD风格许可
  • 在开发JZlib时,还没有进行任何发明。因此,如果zlib没有专利,JZlib也没有任何专利。

为什么选择JZlib?

Java Platform API为提供了“Java.util.zip.*”包访问zlib,但这种支持非常有限如果您需要使用zlib的精髓。例如,我们需要完全访问zlib才能添加数据包压缩支持纯Java SSH系统,但它们对我们的需求毫无用处。互联网草案SSH传输层协议在“4.2压缩”一节中说明如下,

目前定义了以下压缩方法:
无要求无压缩
zlib可选GNU zlib(LZ77)压缩
“zlib”压缩在[RFC-1950]和[RFC-1951]中进行了描述。这个压缩上下文在每次密钥交换后初始化从一个包传递到下一个包,只进行了部分刷新在每个包的末尾执行。部分刷新意味着所有数据将输出,但下一个数据包将继续使用压缩上一个数据包末尾的表。

要实现此功能,这个Z_零件_冲洗必须使用zlib模式,然而,JDK不允许我们这样做。这个问题似乎已经广为人知有些人已经报告给JavaSoft的BugParade(例如,错误ID:4255743), 但JavaSoft没有返回任何积极响应,所以这个问题不会永远解决。这就是我们攻击JZlib的动机。
当然,这些东西对于任何其他纯java程序都是有用的,需要与压缩数据流进行通信。请在您的黑客和如果我们得到一些反馈,我们会很高兴。


使用JZlib的应用程序


攻击JZlib的圣经

我们在攻击JZlib时参考了以下工作。


下载

JZlib 1.1.3以zip格式提供,

它的最新源代码也可以在


Maven存储库

  • JZlib已在cenral maven储存库.
  • Jar文件已经签署了我们的PGP密钥,我们的公钥已经位于香港邮政://pgp.mit.edu。你会得到它的
    $gpg—密钥服务器香港邮政://pgp.mit.edu--记录键CA7FA1F0

演示文稿


信用

JZlib由开发ymnk公司,但他有只是用纯Java重新实现了zlib(这只是为了改进上的服务有线X.net).所以,所有荣誉都应该归于作者Jean-loup盖利马克艾德勒以及zlib的贡献者。


接受意见/建议,网址:jzlib@jcraft.com.


``SSH是一个注册商标和SecureShell是SSH Communications Security Corp的商标(www.ssh.com)“”。