- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java文件加密压缩及解密-流程图及源码解读
文件加密压缩以及解密
两种方式:
1. 文件内容加密:首先对文件内容进行加密,然后压缩;对应的先解压,再对文件进行密匙匹配,匹配成功对文件解密
2. ZIP4J:引入jar包,给文件添加密匙进行压缩,必须输入密码才可以打开文件。通过密码将文件进行解压缩。
1.1文件内容加密流程图
流程图对应的具体方法
序号
对应方法名
相关参数
01
Main函数调用入口
public void compressExe(String srcPathName,String destPathName,String key)
srcPathName:源文件路径
destPathName:目标文件路径
key:密匙
02
判断压缩目标是“目录(文件夹)”、“文件”
private void compressByType(String srcPathName,ZipOutputStream out,String basedir,String key)
srcPathName:要被操作的文件路径
out:压缩文件流
key:密匙
03
文件加密
private void compressFile(String srcPathName, ZipOutputStream out, String basedir,String key)代码前面部分
srcPathName:要被操作的文件路径
out:压缩文件流
key:密匙
04
添加密匙
public static void appendLock(String fileName,String key)
fileName:文件路径
key:密匙
05
压缩文件
private void compressFile(String srcPathName, ZipOutputStream out, String basedir,String key)代码在后面部分
srcPathName:要被操作的文件路径
out:压缩文件流
key:密匙
1.2文件加密方法:
1.3文件压缩
1.4文件解压
整体流程图:
序号
对应方法名
相关参数
01
Main函数调用入口,首先解压文件
public static void unZipFiles(String zipFile,String descDir,String key)
zipFile:源zip路径
descDir:文件输出路径
key:密匙
02
匹配密匙
public static boolean matchLock(String fileName,String key)
fileName:文件路径
key:密匙
03
文件解密
public static String decrypt(String srcPathName, String key)
srcPathName:要被操作的文件路径
key:密匙
具体解压流程图如下:
1.5文件解密decrypt(decryptFilePath,key);
附源代码:
import com.zl.base.core.MethodFactory;
import com.zl.base.core.db.Executer;
import com.zl.base.exception.DbException;
import mon.CoreDispatchAction;
import mon.MD5;
import mons.beanutils.BasicDynaBean;
import mons.beanutils.DynaProperty;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.RandomAccessFile;
import java.util
文档评论(0)