解决用zip4j加密压缩后在LINUX环境用UNZIP命令无法解压的问题

 public static void zip(File file, String pwd, String path)
   throws ZipException {
  ArrayList<File> files = new ArrayList<File>();
  files.add(file);
  ZipFile zipFile = new ZipFile(path);
  ZipParameters parameters = new ZipParameters();
  parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);// 压缩方式
  parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);// 压缩级别
  parameters.setEncryptFiles(true);
  // 这里的配置要注意,配置不对将在LINUX下无法解压 ENC_METHOD_AES ==》 ENC_METHOD_STANDARD
  parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_STANDARD);// 加密方式
  parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);
  parameters.setPassword(pwd);
  zipFile.addFiles(files, parameters);
  //源文件删除
  file.delete();
 }

修改了加密方式,由原来的ENC_METHOD_AES ==》 ENC_METHOD_STANDARD

感谢某老师的指点!

猜你喜欢

转载自www.cnblogs.com/ccppjy/p/10693825.html