資源簡介
輸入自定義的KEY和路徑,加密!
在MAIN方法里有例子

代碼片段和文件信息
package?com.test;
import?java.io.File;
import?java.io.FileInputStream;
import?java.io.FileOutputStream;
/**
?*?加密解密類
?*?
?*?@author
?*?@version?1.00
?*/
public?class?Test?{
//?static?boolean?debug?=false?;
//?加密KEY不能隨便改動
static?final?byte[]?KEYVALUE?=?“11111111111111111111“
.getBytes();
static?final?int?BUFFERLEN?=?512;
public?Test()?{
}
/**
?*?對文件進行加密
?*?
?*?@param?String
?*????????????oldFile?原始要加密的文件
?*?@param?String
?*????????????newFile?加密后的文件
?*?@return
?*/
public?static?void?encryptFile(String?oldFile?String?newFile)
throws?Exception?{
FileInputStream?in?=?new?FileInputStream(oldFile);
File?file?=?new?File(newFile);
if?(!file.exists())
file.createNewFile();
FileOutputStream?out?=?new?FileOutputStream(file);
int?c?pos?keylen;
pos?=?0;
keylen?=?KEYVALUE.length;
byte?buffer[]?=?new?byte[BUFFERLEN];
while?((c?=?in.read(buffer))?!=?-1)?{
for?(int?i?=?0;?i? buffer[i]?^=?KEYVALUE[pos];
out.write(buffer[i]);
pos++;
if?(pos?==?keylen)
pos?=?0;
}
}
in.close();
out.close();
}
/**
?*?對文件進行解密
?*?
?*?@param?String
?*????????????oldFile?原始要解密的文件
?*?@param?String
?*????????????newFile?解密后的文件
?*?@return
?*/
public?static?void?decryptFile(String?oldFile?String?newFile)
throws?Exception?{
FileInputStream?in?=?new?FileInputStream(oldFile);
File?file?=?new?File(newFile);
if?(!file.exists())
file.createNewFile();
FileOutputStream?out?=?new?FileOutputStream(file);
int?c?pos?keylen;
pos?=?0;
keylen?=?KEYVALUE.length;
byte?buffer[]?=?new?byte[BUFFERLEN];
while?((c?=?in.read(buffer))?!=?-1)?{
for?(int?i?=?0;?i? buffer[i]?^=?KEYVALUE[pos];
out.write(buffer[i]);
pos++;
if?(pos?==?keylen)
pos?=?0;
}
}
in.close();
out.close();
}
/**
?*?@param?args
?*/
public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
try?{
//?debug?=false?;
String?oldFile?=?new?String(“c:/test.doc“);
String?newFile?=?new?String(“c:/file2.doc“);
String?file3?=?new?String(“c:/file3.doc“);
encryptFile(oldFile?newFile);
decryptFile(newFile?file3);
System.out.println(“ok“);
}?catch?(Exception?e)?{
e.printStackTrace();
}
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????31232??2010-08-09?21:55??file2.doc
?????文件???????2425??2010-08-09?22:40??Test.java
-----------?---------??----------?-----??----
????????????????33657????????????????????2
- 上一篇:二維矩形裝箱算法--二叉樹--java實現
- 下一篇:jsp+mysql火車訂票系統
評論
共有 條評論