- import java.io.File;
- import java.util.UUID;
- public class ZipCipherUtil {
- /**
- * 對目錄srcFile下的所有文件目錄進行先壓縮後加密,然後保存爲destfile
- *
- * @param srcFile
- * 要操作的文件或文件夾
- * @param destfile
- * 壓縮加密後存放的文件
- * @param keyfile
- * 密鑰
- */
- public void encryptZip(String srcFile, String destfile, String keyStr) throws Exception {
- File temp = new File(UUID.randomUUID().toString() + ".zip");
- temp.deleteOnExit();
- // 先壓縮文件
- new ZipUtil().zip(srcFile, temp.getAbsolutePath());
- // 對文件加密
- new CipherUtil().encrypt(temp.getAbsolutePath(), destfile, keyStr);
- temp.delete();
- }
- /**
- * 對文件srcfile進行先解密後解壓縮,然後解壓縮到目錄destfile下
- *
- * @param srcfile
- * 要解密和解壓縮的文件名
- * @param destfile
- * 解壓縮後的目錄
- * @param publicKey
- * 密鑰
- */
- public void decryptUnzip(String srcfile, String destfile, String keyStr) throws Exception {
- File temp = new File(UUID.randomUUID().toString() + ".zip");
- temp.deleteOnExit();
- // 先對文件解密
- new CipherUtil().decrypt(srcfile, temp.getAbsolutePath(), keyStr);
- // 解壓縮
- new ZipUtil().unZip(temp.getAbsolutePath(),destfile);
- temp.delete();
- }
- public static void main(String[] args) throws Exception {
- long l1 = System.currentTimeMillis();
- //加密
- // new ZipCipherUtil().encryptZip("d:\\test\\111.jpg", "d:\\test\\photo.zip", "12345");
- //解密
- new ZipCipherUtil().decryptUnzip("d:\\test\\photo.zip", "d:\\test\\111_1.jpg", "12345");
- long l2 = System.currentTimeMillis();
- System.out.println((l2 - l1) + "毫秒.");
- System.out.println(((l2 - l1) / 1000) + "秒.");
- }
- }
對文件或文件夾進行壓縮解壓加密解密
對文件或文件夾進行壓縮解壓加密解密:
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.