国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

JAVA文件加密器(收藏)

2019-11-18 14:37:31
字體:
供稿:網(wǎng)友

  import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.security.*;
import javax.crypto.*;
import javax.crypto.spec.*;

/**
文件名:FileEncrypter.java
JDK:1.40以上
說明:文件加密
加密方法:三重DES加密
加密過程:對選中的文件加密后在同文件夾下生成一個增加了".tdes"
擴展名的加密文件
解密過程:對選中的加密文件(必須有".tdes"擴展名)進行解密
*/
public class FileEncrypter extends JFrame{
public static final int WIDTH = 550;
public static final int HEIGHT = 200;

public static void main(String args[]) {
FileEncrypter fe = new FileEncrypter();
fe.show();
}

FileEncrypter(){
this.setSize(WIDTH,HEIGHT);
this.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension screenSize = tk.getScreenSize();
this.setLocation((screenSize.width - WIDTH)/2,
(screenSize.height - HEIGHT)/2);
this.setTitle("文件加密器(TriDES)");
Container c = this.getContentPane();
c.setLayout( new FlowLayout());

final FilePanel fp = new FilePanel("文件選擇");
c.add(fp);

final KeyPanel pp = new KeyPanel("密碼");
c.add(pp);

JButton jbE = new JButton("加密");
c.add(jbE);
jbE.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
File file = new File(fp.getFileName());
if (file.exists())
encrypt(file.getAbsoluteFile(),pp.getKey());
else
JOptionPane.showMessageDialog(
null,"請選擇文件!","提示",JOptionPane.OK_OPTION);
}
});
JButton jbD = new JButton("解密");
c.add(jbD);
jbD.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
File file = new File(fp.getFileName());
if (file.exists())
decrypt(file.getAbsoluteFile(),pp.getKey());
else
JOptionPane.showMessageDialog(
null,"請選擇文件!","提示",JOptionPane.OK_OPTION);
}
});
}

/**
加密函數(shù)
輸入:
要加密的文件,密碼(由0-F組成,共48個字符,表示3個8位的密碼)如:
AD67EA2F3BE6E5ADD368DFE03120B5DF92A8FD8FEC2F0746
其中:
AD67EA2F3BE6E5AD DES密碼一
D368DFE03120B5DF DES密碼二
92A8FD8FEC2F0746 DES密碼三
輸出:
對輸入的文件加密后,保存到同一文件夾下增加了".tdes"擴展名的文件中。
*/
PRivate void encrypt(File fileIn,String sKey){
try{
if(sKey.length() == 48){
byte[] bytK1 = getKeyByStr(sKey.substring(0,16));
byte[] bytK2 = getKeyByStr(sKey.substring(16,32));
byte[] bytK3 = getKeyByStr(sKey.substring(32,48));

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 霍州市| 鹿泉市| 龙川县| 托克逊县| 大连市| 河西区| 乐山市| 镇安县| 通河县| 广平县| 涿州市| 县级市| 瑞昌市| 靖宇县| 丹巴县| 晋州市| 乐清市| 莱芜市| 甘谷县| 文成县| 曲麻莱县| 八宿县| 陆良县| 张家港市| 孟津县| 五大连池市| 井冈山市| 玛纳斯县| 开原市| 元阳县| 桦甸市| 宜川县| 家居| 建昌县| 绍兴市| 敖汉旗| 鄂托克旗| 吴川市| 南木林县| 佛山市| 抚顺市|