首先分享加密解密的工具类/**
* 文件加密传输的方法
* @param from 未加密文件(带绝对路径)
* @param to 加密后文件(带绝对路径)
* @throws Exception 抛出异常
*/
public static void JiaMi(String from,String to,int day) throws Exception{
FileInputStream fis = new FileInputStream(from);
FileOutputStream fos = new FileOutputStream(to,false);
int n = fis.read();
int count=0;
//循环写入
while(n!=-1){//加密算法,可行定义,与解密算法相逆
if(day*n != 1){
fos.write(n+day);
}else{
fos.write(n);
}
n=fis.read();
}
fis.close();
fos.close();
}
/**
* 文件解密接收的方法
* @param from 加密后文件(带绝对路径)
* @param to 解密后文件(带绝对路径)
* @throws Exception 抛出异常
*/
public static void JieMi(String from,String to,int day) throws Exception{
FileInputStream fis = new FileInputStream(from);
FileOutputStream fos = new FileOutputStream(to,false);
int n = fis.read();
//循环写入
while(n!=-1){//解密算法,可行定义,与加密算法相逆
if(day*n != 1){
fos.write(n-day);
}else{
fos.write(n);
}
n=fis.read();
}
//关闭输入输出流
fis.close();
fos.close();
}
测试方法:
其中day可以随便填写 也可自动生成FileUtils.JiaMi("E://原始.txt","E://加密.txt",18,175);
FileUtils.JieMi("E://加密.txt","E://解密.txt",18,175);
最终结果:
原始文件:
加密文件:
解密文件:
注:加密解密的文件后缀无要求,可以是txt、docx、pdf等...但是加密和解密时文件后缀应一致。
版权声明:本站所发布的全部内容源于互联网搬运,仅供用于学习和交流,如果有侵权之处请第一时间联系我们删除。敬请谅解! E-mail:xujinxiao@126.com
赞