java压缩文件并对压缩包进行加密
程序员文章站
2024-01-12 08:02:40
...
由于最近有个需求:从数据库抽取数据压缩加密后工供用户下载,压缩包密码以短信形式发送给用户。
压缩还好,jdk本身的java.util.zip包就可以搞定,但是没有提供对压缩包加密的方法。几经查询终于找到个第三方工具包zip4j_1.3.1.zip轻轻松松就可以搞定压缩加密等一系列问题。现将该工具包分享出来。
下面是自己写的一个简单的压缩加密的例子:
public static void main(String[] args) {
String sss="五千年的风和雨啊创了多少梦\r\nahhwdpjfwjfpwjpf\r\n19eu923ur932ur03";
String passwd="111#";
ZipParameters parameters = new ZipParameters();
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE); // 压缩方式
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL); // 压缩级别
parameters.setSourceExternalStream(true);
parameters.setFileNameInZip("aaaa.txt");
if (!"".equals(passwd)) {
parameters.setEncryptFiles(true);
parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_STANDARD); // 加密方式
parameters.setPassword(passwd.toCharArray());
}
try {
ZipFile zipFile = new ZipFile("D:\\java压缩文件.zip");
zipFile.addStream(new ByteArrayInputStream(sss.getBytes()), parameters);
} catch (ZipException e) {
e.printStackTrace();
}
}
上一篇: 游标的使用