1.密钥文件
import java.io.*;
public class MyKey {
public static void main(String[] args){
try{
File f=new File("C:/work/key.key");
FileOutputStream fos=new FileOutputStream(f);
for(int i=0;i<128;i++){
fos.write((int)Math.random()*128);
}
}catch(Exception e){}
}
}
2.加密文件
import java.io.*;
public class MyEncryp {
public static void main(String[] args){
try{
//读密钥文件
int key[]=new int[128];
File keyFile=new File("C:/work/key.key");
FileInputStream keyFis=new FileInputStream(keyFile);
for(int i=0;i<128;i++){
key[i]=keyFis.read();
}
//加密
File inFile=new File("C:/work/test.txt");
File outFile=new File("C:/work/test1.txt");
FileInputStream fis=new FileInputStream(inFile);
FileOutputStream fos=new FileOutputStream(outFile);
int length=fis.available();
for(int i=0;i<length;i++){
fos.write(fis.read()+key[i%128]);
}
}catch(Exception e){}
}
}
3.解密文件
import java.io.*;
public class MyDecrypt {
/**
* @param args
*/
public static void main(String[] args) {
try{
int key[]=new int[128];
// //加密文件
// File inFile=new File("C:/work/test1");
// File outFile=new File("C:/work/test2");
// FileInputStream fis3=new FileInputStream(inFile);
// FileOutputStream fos3=new FileOutputStream(outFile);
// for(int i=0;i<128;i++){
// fos.write(fis3.read()-key[i]);
// }
//读密钥文件
File keyFile1=new File("C:/work/key.key");
FileInputStream keyFis=new FileInputStream(keyFile1);
for(int i=0;i<128;i++){
key[i]=keyFis.read();
}
//解密
File f=new File("C:/work/test1.txt");
FileInputStream fis=new FileInputStream(f);
int length=fis.available();
for(int i=0;i<length;i++){
System.out.print((char)fis.read()-key[i%128]);
}
//
}catch(Exception e){}
}
}