91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小:
    文件類型: .java
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-14
  • 語言: Java
  • 標簽:

資源簡介

文件加密與解密的java代碼

資源截圖

代碼片段和文件信息

package?vcvv;

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(WIDTHHEIGHT);?
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);?
}?
});?
}?

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

FileInputStream?fis?=?new?FileInputStream(fileIn);?
byte[]?bytIn?=?new?byte[(int)fileIn.length()];?
for(int?i?=?0;ibytIn[i]?=?(byte)fis.read();?
}?
//加密?
byte[]?bytOut?=?encryptByDES(encryptByDES(?
encryptByDES(bytInbytK1)bytK2)bytK3);?
String?fileOut?=?fileIn.getPath()?+?“.tdes“;?
FileOutputStream?fos?=?new?FileOutputStream(fileOut);?
for(int?i?=?0;ifos.write((int)bytOut[i]);?
}?
fos.close();?
JOptionPane.showMessageDialog(?
this“加密成功!““提示“JOptionPane.OK_OPTION);?
}else?
JOptionPane.showMessageDialog(?
this“密碼長度必須等于48!““錯誤信息“JOptionPane.ERROR_MESSAGE);?
}catch(Exception?e){?
e.printStackTrace();?
}?
}?

/**

評論

共有 條評論

相關資源