由于最近有个需求:从数据库抽取数据压缩加密后工供用户下载,压缩包密码以短信形式发送给用户。
压缩还好,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(); } }
微笑的去寻找一个不可能出现的你。