【问题标题】:Reading Password-Protected ZIP Files in Java在 Java 中读取受密码保护的 ZIP 文件
【发布时间】:2014-02-06 09:58:03
【问题描述】:

我已使用密码压缩并保护了一个文件。 现在我需要用 java 取回文件。所以我需要解锁密码并使用 Java 解压缩才能正确连接到文件。

我的第一个问题是:Java 是否解压缩并解锁本地驱动器上的压缩文件? (所以没有必要保护它?)。

我已经阅读了有关加密的所有内容,但我确实在这里寻找最简单的方法。 此链接:http://blog.alutam.com/2009/10/31/reading-password-protected-zip-files-in-java/

我的第二个问题是关于上面的链接:我找不到他指向本地驱动器上压缩文件的行+他用来解锁文件的密码(它是硬编码的吗?)

谢谢

【问题讨论】:

  • 我找不到他指向本地驱动器上压缩文件的行+他用来解锁文件的密码(它是硬编码的吗?)不。就像你可以看到,他使用了args[0]args[1]。这意味着他正在从命令行参数获取 zip 文件路径及其密码

标签: java encryption compression zip


【解决方案1】:

你可能想看看Zip4j

主要特点:

  1. 从 Zip 文件中创建、添加、提取、更新、删除文件
  2. 读/写受密码保护的 Zip 文件
  3. 支持 AES 128/256 加密
  4. 支持标准 Zip 加密
  5. 支持 Zip64 格式
  6. 支持 Store(无压缩)和 Deflate 压缩方法
  7. 从拆分 Zip 文件(例如:z01、z02、...zip)中创建或提取文件
  8. 支持 Unicode 文件名
  9. 进度监视器

【讨论】:

  • 那么 Zip4J 是一个很棒的工具。但问题是它在我本地驱动器的某个地方提取了压缩文件。所以它不再加密了。如果 Java 需要解压缩它才能到达文件,我看不出压缩它的意义..
  • @RobinHo 你没抓住重点。 zip 是一个压缩存档,当然您需要将其解压缩以读取其中的文件。如果你只想要它包含的文件的列表,那么不需要解压缩,但如果你想阅读,你必须解压缩文件。
  • 好吧,您可以创建一个文件列表并将所有内容(内容)放入一个输入流中。现在继续阅读并在完成后关闭它。有一个选项 getInputStream() 可以将其转换为流。
猜你喜欢
  • 2012-05-22
  • 2011-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多