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小时内删除。