加密器,对自己的文件加密
2016-03-05 22:50
253 查看
import java.io.IOException;
import java.io.RandomAccessFile;
public class TestRandomAccessFile {
//随机访问文件对象,对同一文件进行加密
public static void main(String[] args) {
RandomAccessFile r= null;
try {
r = new RandomAccessFile("E:\\马化腾乌镇演讲--你的未来该做啥_高清.mp4", "rwd"); //rwd可读可写模式,对自己想要加密的文件路径
byte[] b = new byte[1024*1024*10];
int len = -1;
while((len=r.read(b)) !=-1){
for (int i = 0; i < len; i++) {
b[i] = (byte) (b[i]^8); //加密
}
long pos = r.getFilePointer();//得到当前文件指针的偏移量
r.seek(pos-len);//设置文件指针的偏移
r.write(b, 0,len);
}
System.out.println("加密完毕");
} catch (IOException e) {
e.printStackTrace();
} finally {
if (null != r) {
try {
r.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
运行两次是解密,对同一个数异或两次是本身。。
import java.io.RandomAccessFile;
public class TestRandomAccessFile {
//随机访问文件对象,对同一文件进行加密
public static void main(String[] args) {
RandomAccessFile r= null;
try {
r = new RandomAccessFile("E:\\马化腾乌镇演讲--你的未来该做啥_高清.mp4", "rwd"); //rwd可读可写模式,对自己想要加密的文件路径
byte[] b = new byte[1024*1024*10];
int len = -1;
while((len=r.read(b)) !=-1){
for (int i = 0; i < len; i++) {
b[i] = (byte) (b[i]^8); //加密
}
long pos = r.getFilePointer();//得到当前文件指针的偏移量
r.seek(pos-len);//设置文件指针的偏移
r.write(b, 0,len);
}
System.out.println("加密完毕");
} catch (IOException e) {
e.printStackTrace();
} finally {
if (null != r) {
try {
r.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
运行两次是解密,对同一个数异或两次是本身。。
相关文章推荐
- Android 第三天重置版_注意事项
- hdu 5635 LCP Array(BC第一题)
- Ignatius and the Princess IV
- LeetCode 69 Sqrt(x)(Math、Binary Search)(*)
- 【类库】私房干货.Net数据层方法的封装
- 观察者模式与事件驱动模式实例比较
- HDU 1031 Design T-Shirt(结构体2级排序)
- 希尔排序
- 我们不改需求了,给你们立字据!
- [面经]CVTE的两道笔试编程题
- 我们不改需求了,给你们立字据!
- 诗词10首【2】
- 有关c#的几个问题
- POJ 1003
- 静态内部类、匿名内部类、局部内部类
- Linux(一)——文本模式指令
- 消息队列ActiveMQ(二)——安全配置
- 十六进制转化为八进制
- 一个斜率优化?
- 接口测试及一些想法