java压缩文件并对压缩包进行加密

由于最近有个需求:从数据库抽取数据压缩加密后工供用户下载,压缩包密码以短信形式发送给用户。

压缩还好,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();  
        }  
    }  





你可能感兴趣的:(java压缩文件并对压缩包进行加密)