java程序对于文件的加密和解密

不凡 3282 1

首先分享加密解密的工具类

/**
 * 文件加密传输的方法
 * @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);

最终结果:

java程序对于文件的加密和解密-第1张图片-爱制作博客

原始文件:

java程序对于文件的加密和解密-第2张图片-爱制作博客

加密文件:

java程序对于文件的加密和解密-第3张图片-爱制作博客

解密文件:

java程序对于文件的加密和解密-第4张图片-爱制作博客

注:加密解密的文件后缀无要求,可以是txt、docx、pdf等...但是加密和解密时文件后缀应一致。

标签: Java 加密解密 File

发布评论 1条评论)

  • Refresh code

评论列表

2019-02-18 10:43:21

666