如何使用Java解压缩由Linux创建的受密码保护的存档

way*_*bai 3 java passwords android unzip

我最近正在开发一个Android项目并遇到了一个问题.我向webservice发送了一个请求,并获得了一个带密码保护的zip文件.使用Linux命令创建zip文件

zip -P 123123123123123123 test.zip test.txt
Run Code Online (Sandbox Code Playgroud)

我想用Java解压缩它.因为没有标准的API支持所以我需要第三个库.

  1. 我试过winzipaes,但它提示我的zip文件不是AES-256格式.
  2. 我不能用sevenzipjbinding,它太大了.

你有什么建议吗?你知道Linux用来加密zip文件的算法吗?

way*_*bai 9

最后,我完成了zip4j.

  1. 下载zip4j-1.3.1并将其导入项目.

  2. 示例代码:

    ZipFile zipFile = new ZipFile(YourZipFile);
    if(zipFile.isEncrypted()){
       zipFile.setPassword(Password);
    }
    zipFile.extractAll(Destination);
    
    Run Code Online (Sandbox Code Playgroud)

  • 值得指出的是,Zip4j包括对WinZip式AES-256加密的支持.请参阅"示例"包以了解如何执行此操作. (2认同)