77范文网 - 专业文章范例文档资料分享平台

java文件加密压缩及解密-流程图及源码

来源:网络收集 时间:2019-03-11 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

文件加密压缩以及解密

两种方式:

1. 文件内容加密:首先对文件内容进行加密,然后压缩;对应的先解压,再对文件进行密

匙匹配,匹配成功对文件解密

2. ZIP4J:引入jar包,给文件添加密匙进行压缩,必须输入密码才可以打开文件。通过

密码将文件进行解压缩。

1.1文件内容加密流程图

01.初始化srcPathName:源文件,destPathName:目的文件,key:密匙 以流的形式打开目的文件ZipOutputStream out Y 02.根据(文件夹/文件)来执行不同压缩方法file.isDirectory() N 03.对文件加密 04.给文件添加密匙 05.压缩文件 取出目录下的文件,再次进行类型判断 结束

流程图对应的具体方法 序号 对应方法名 01 相关参数 Main函数调用入口 srcPathName:源文件路径 public void compressExe(StringsrcPathName,String destPathName,String destPathName:目标文件路key) 径 key:密匙 判断压缩目标是“目录(文件夹)”、“文件” srcPathName:要被操作的文private void compressByType(String srcPathName,ZipOutputStream 件路径 out,String basedir,String key) out:压缩文件流 key:密匙 文件加密 srcPathName:要被操作的文private void compressFile(String srcPathName, ZipOutputStream out, String 件路径 basedir,String key)代码前面部分 out:压缩文件流 key:密匙 02 03 04 05 添加密匙 public static void appendLock(String fileName,String key) fileName:文件路径 key:密匙 压缩文件 srcPathName:要被操作的文private void compressFile(String srcPathName, ZipOutputStream out, String 件路径 basedir,String key)代码在后面部分 out:压缩文件流 key:密匙

1.2文件加密方法:

创建一个新的添加文件destFile,存放加密后的文件 创建长度为1024的内存空间 buffer,存放读取字节 Buffer2,存放加密后的字节 While((r=in.read(buffer))>0) 读字节到数组buffer中,r读入的字节数 Y //循环得到buffer[i],将字节位移加密,存放在buffer2中 For(int i = 0; i

1.3文件压缩

读取压缩文件流BufferedInputStream bis = new BufferedInputStream(new FileInputStream(new File(srcPathName))); 创建压缩包入口,并放入目标流out ZipEntry entry = new ZipEntry(basedir+new File(srcPathName).getName()) out.putNextEntry(entry); 创建长度为BUFFER的内存空间 data,存放读取字节 byte data[] = new byte[BUFFER]; N While((count =bis.read(data,0,BUFFER))!=-1) 读字节到数组buffer中,r读入的字节数 Y 将 data,写入out中 out.write(data,0,count);out.flush(); bis文件流关闭 压缩完成

1.4文件解压 整体流程图:

01.解压文件 02.对解压后的文件进行密匙匹配 N 密匙匹配成功 密匙错误 Y 03.对文件解密 结束

序号 对应方法名 01 Main函数调用入口,首先解压文件 public static void unZipFiles(String zipFile,String descDir,String key) 匹配密匙 public static boolean matchLock(String fileName,String key) 文件解密 public static String decrypt(String srcPathName, String key) 相关参数 zipFile:源zip路径 descDir:文件输出路径 key:密匙 fileName:文件路径 key:密匙 srcPathName:要被操作的文件路径 key:密匙 02 03 具体解压流程图如下:

01.初始化压缩写文件流ZipInputStream Zin=new ZipInputStream(new FileInputStream(zipFile));zipFile:待解压zip路径 读压缩文件流outBufferedInputStream Bin=new BufferedInputStream(Zin); N While((entry = Zin.getNextEntry())!=null && !entry.isDirectory()) 压缩文件流入口不为空时 Y 初始化目标地址文件。File Fout =new File(“输出文件地址”,entry.getName()); 创建输出地址文件流。FileOutputStream out=new FileOutputStream(Fout); BufferedOutputStream Bout=new BufferedOutputStream(out) while((b=Bin.read())!=-1) 读压缩文件流 Y 将Bin.read()写入输出地址流中 Bout.write(b); N Bout、out关闭 对解压的文件进行解密 decrypt(decryptFilePath,key); Bin.close(); Zin.close(); 压缩完成

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库java文件加密压缩及解密-流程图及源码在线全文阅读。

java文件加密压缩及解密-流程图及源码.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/517058.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: