import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
/**
* 加密解密类
*
* @author shaohl
* @version 1.00
*/
public class filekey {
// static boolean debug =false ;
// 加密KEY不能随便改动
static final byte[] KEYVALUE = "6^)(9-p35@%3#4S!4S0)$Y%%^&5(j.&^&o(*0)$Y%!#O@*GpG@=+@j.&6^)(0-=+"
.getBytes();
static final int BUFFERLEN = 512;
public filekey() {
}
/**
* 对文件进行加密
*
* @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 (!ists())
ateNewFile();
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 < c; i++) {
buffer[i] ^= KEYVALUE[pos];
out.write(buffer[i]);
pos++;
if (pos == keylen)
pos = 0;
}
}
in.close();
out.close();
}
/**
* 对文件进行解密
*
java加密方式有哪些 * @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 (!ists())
ateNewFile();
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 < c; 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:\\Users\\Administrator\\Desktop\\java课设\\需要加密的文件.txt");
String newFile = new String("C:\\Users\\Administrator\\Desktop\\java课设\\加密之后.txt");
String oldFile1= new String("C:\\Users\\Administrator\\Desktop\\java课设\\加密之后.txt");
String newFile1= new String("C:\\Users\\Administrator\\Desktop\\java课设\\解密之后.txt");
encryptFile(oldFile, newFile);
decryptFile(oldFile1, newFile1);
System.out.println("ok");
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
/
/————————————窗体、、、——————————————————————、、
public class SimpleFrame extends JFrame implements ActionListener{
JButton jButton1,jButton2;
int i=0;
private Object oldfile;
private Object newfile;
private Object oldfile1;
private Object newfile1;
private filekey f;
public SimpleFrame (String title){
super(title);
filekey f1=new filekey();
jButton1=new JButton("加密");
jButton2=new JButton("解密");
JTextField tf=new JTextField(15);
setLayout(new FlowLayout());
jButton1.addActionListener(this);
jButton2.addActionListener(this);
add(jButton1);
add(jButton2);
add(tf);
setSize(400,300);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//______窗体-------
public static void main(String[] args) {
String oldfile = new String("C:\\Users\\Administrator\\Desktop\\java课设\\需要加密的文件.txt");
String newfile = new String("C:\\Users\\Administrator\\Desktop\\java课设\\加密之后的文件.txt");
String oldfile1 = new String("C:\\Users\\Administrator\\Desktop\\java课设\\加密之后的文件.txt");
String newfile1 = new String("C:\\Users\\Administrator\\Desktop\\java课设\\解密之后的文件.txt");
SimpleFrame frame =new SimpleFrame ("文件加密解密");
frame.jiemi();
if(frame.i<0){ filekey f=new filekey();
{try {
f. encryptFile(oldfile, newfile);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}}
}
}
public void jiemi(){
i--;
System.out.print("加密成功! ");
}
// 事件处理--------- ↓ ↓↓↓↓ ↓ ↓↓↓↓ ↓ ↓↓↓↓ ↓ ↓↓↓↓ ↓ ↓↓↓↓ ↓ ↓↓↓↓
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论