黑马程序员技术交流社区
标题: 哈尔滨校区Javase io流文件加密简述 [打印本页]
作者: rockybull 时间: 2015-12-15 22:33
标题: 哈尔滨校区Javase io流文件加密简述
本帖最后由 rockybull 于 2015-12-17 20:29 编辑
Javase io流文件加密简述
今天刚刚学的io流,学会了用io流编写一个加密文件的小程序,很简单实用。
Io流是处理不同设备间数据的传输。加密是把一个文件通过位运算符^异或一个数(密钥)来实现的。
原理: 在写出字节的时候,异或上一个数字,这个数字就是密钥。
解密的时候,在异或上该数字(密钥)即可。
道理很简单,就是:一个数据a被同一个数据b,位异或两次,a值不变。
代码:
//导入包和定义包
package test;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Test1 { //定义一个类
public static void main(String[] args) throws IOException { //主方法抛出io异常给jvm
//通过字节输入输出缓冲流,把当前目录准备加密的文件封装,封装贮备输出的加密文件。
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("copy.jpg"));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("copy2.jpg"));
int b;
while((b = bis.read()) != -1) {
bos.write(b ^ 123); /*将写出的字节异或上一个数,123就是密钥,
解密的时候再次异或就可以了*/
}
bis.close(); //关闭输入和输出缓冲流
bos.close();
}
}
作者: JohnsonJonson 时间: 2015-12-16 00:34
还没学到这里来,有没有沙发,?
作者: 小小鸟311 时间: 2015-12-16 00:43
看我能不能中奖呢
作者: Mr.zhao 时间: 2015-12-16 00:54
抽奖学习
作者: 唐洪超 时间: 2015-12-16 11:33
顶起来,。。。。。。。。。。。。。。。。
作者: medicine 时间: 2015-12-16 18:40
谢谢分享,好人一生平安
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |