2010-03-10
最近做项目遇到了一个问题,需要将客户端到处的加密ZIP压缩包直接导入到系统中。在网上查了下关于ZIP解密的问题,发现了winzipaes这个开源项目http://code.google.com/p/winzipaes ,这个项目需要依赖bcprov-jdk14-145.jar这个开源包,两个包联合使用可以解密AES -256算法的加密密码。
因为系统使用的是JDK1.4,而winzipaes开源项目使用的是jdk1.5编写的,所以我改写了程序,改为1.4可知执行的版本并做成了jar包,有需要的朋友可以与我所要,信箱ywxowen999@sina.com。
这个包的使用方法也非常简单,加密和解密算法如:
加密
- AesZipFileEncrypter enc = new AesZipFileEncrypter("/doc/zipSpecificationAes.zip");
- enc.zipAndEcrypt(new File("/doc/zipSpecification.txt"), "foo");
解密
- AesZipFileDecrypter zipFile = new AesZipFileDecrypter( new File("/doc/zipSpecificationAes.zip") );
- ExtZipEntry entry = zipFile.getEntry( "zipSpecification.txt" );
- zipFile.extractEntry( entry, new File("doc/zipSpecification.txt"), "foo" );
注意:这里的foo代表压缩文件的密码,zipSpecification.txt代表压缩文件中的一个文件名。
非常简单吧,呵呵希望对你有用!