通过IO流对文件进行加密和解密



通过IO流对文件进行加密和解密(^

 

对输入的信息进行加密处理

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

 

public class IOEncryptByte {

        

        

         publicstatic void main(String[] args) throws IOException {

 

                   //创建一个FileOutStream对象,并将需要加密的文件放入其中

                   FileOutputStream  out= new FileOutputStream("d:\\加密.txt");

                   //将加密的信息转换成字节数组

                   byte[]b="我要加密".getBytes();

                   //对每个字节进行^处理

                   for(inti=0;i<b.length;i++){

                            b[i]=(byte)(b[i]^'S');

                   }

                   //再将加密处理后的字节写入文件中

                   out.write(b);

                   //关闭IO

                   out.close();

         }

 

}

 

 

 

对文件进行解密处理

 

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.IOException;

 

public class IODeciphering {

        

         publicstatic void main(String[] args) throws IOException {

                   //获得FileInputStream对象,并将需要解密的文件放入

                   FileInputStream  in=new FileInputStream("d:\\加密.txt");

FileOutputStream  out= newFileOutputStream("d:\\解密.txt");

 

                   //定义一个字节数组,用于存放每次读取的信息

                   bytech[]=new byte[1024];

                   //定义一个int变量,存放读取出来的信息

                   intn=0;

                   //定义一个String对象,存放解密后的内容

                   Stringcontext=null;

                   //判断是否读取结束              

                   while((n=in.read(ch,0,ch.length))!=-1){

                            //遍历字节数组,将每个字节进行^处理,进行解密

                            for(inti=0;i<ch.length;i++){

                                     ch[i]=(byte)(ch[i]^'S');

                            }

                            //将解密成功后的字节数组转换成字符串

                            context=newString(ch,0,n)

                            //将解密后的内容转换成字节数组,并存放到解密后的文件中

out.write(context.getBytes());

                           

                           

                   }

      //输出解密的内容

                   System.out.println(context);

                   //关闭输入流

                   out.close();

                  

                  

         }

 

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值