📄 desjiajiemi.txt
字号:
class CryptFrame_jMenuAbout_mouseAdapter extends MouseAdapter {
private CryptFrame adaptee;
CryptFrame_jMenuAbout_mouseAdapter(CryptFrame adaptee) {
this.adaptee = adaptee;
}
public void mouseClicked(MouseEvent mouseEvent) {
adaptee.jMenuAbout_mouseClicked(mouseEvent);
}
}
///////////////////////////////////////////////////// 菜单处理类 END ////////////////////////////////////////////////
package com.crypt.file;
import java.io.File;
import java.io.IOException;
import javax.swing.JOptionPane;
public class CryptoDESFileThread extends DESFileThread {
private File keyFile = null;
private File srcFile = null;
private File destFile = null;
public CryptoDESFileThread(ProcessFrame proFrame,File keyFile,File srcFile,File destFile) {
this.proFrame = proFrame;
this.keyFile = keyFile;
this.srcFile = srcFile;
this.destFile = destFile;
}
public void run(){
if (!keyFile.exists()) {
JOptionPane.showMessageDialog(proFrame, "key文件不存在!");
proFrame.setVisible(false);
return;
}
if (!srcFile.exists()) {
JOptionPane.showMessageDialog(proFrame, "要加密的源文件不存在!");
proFrame.setVisible(false);
return;
}
if (!destFile.exists()) {
try {
destFile.createNewFile();
} catch (IOException ex) {
JOptionPane.showMessageDialog(proFrame, "要加密后文件不存在,创建失败!");
proFrame.setVisible(false);
return;
}
}
KeyDESFileCrypt keyDESFileCrypt = FileCryptFactory.create(FileCryptFactory.KEY_DES);
if (!keyDESFileCrypt.cryptoDES(keyFile, srcFile, destFile,this)) {
JOptionPane.showMessageDialog(proFrame, "文件加密失败!");
proFrame.setVisible(false);
} else {
if (this.proFrame.cryptFrame.jCheckBoxDelSrc.isSelected()) {
int rs = JOptionPane.showConfirmDialog(proFrame,
"文件加密完成,是否要删除原文件吗?", "提示:", JOptionPane.YES_NO_OPTION);
if (rs == JOptionPane.YES_OPTION) {
if (srcFile.exists()) {
srcFile.delete();
}
}
}
JOptionPane.showMessageDialog(proFrame, "成功加密文件!");
}
proFrame.setVisible(false);
return;
}
}
package com.crypt.file;
import java.awt.Toolkit;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import java.awt.Dimension;
public class CryptTools {
boolean packFrame = false;
/**
* Construct and show the application.
*/
public CryptTools() {
CryptFrame frame = new CryptFrame();
// Validate frames that have preset sizes
// Pack frames that have useful preferred size info, e.g. from their layout
if (packFrame) {
frame.pack();
} else {
frame.validate();
}
// Center the window
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
frame.setLocation((screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height) / 2);
frame.setVisible(true);
}
/**
* Application entry point.
*
* @param args String[]
*/
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
try {
UIManager.setLookAndFeel(UIManager.
getSystemLookAndFeelClassName());
} catch (Exception exception) {
exception.printStackTrace();
}
new CryptTools();
}
});
}
}
package com.crypt.file;
import java.io.File;
import java.io.IOException;
import javax.swing.JOptionPane;
public class DeCryptoDESFileThread extends DESFileThread {
private File keyFile = null;
private File srcFile = null;
private File destFile = null;
public DeCryptoDESFileThread(ProcessFrame proFrame,File keyFile,File srcFile,File destFile) {
this.proFrame = proFrame;
this.keyFile = keyFile;
this.srcFile = srcFile;
this.destFile = destFile;
}
public void run(){
if (!keyFile.exists()) {
JOptionPane.showMessageDialog(proFrame, "key文件不存在!");
proFrame.setVisible(false);
return;
}
if (!srcFile.exists()) {
JOptionPane.showMessageDialog(proFrame, "要解密的源文件不存在!");
proFrame.setVisible(false);
return;
}
if (!destFile.exists()) {
try {
destFile.createNewFile();
} catch (IOException ex) {
JOptionPane.showMessageDialog(proFrame, "要解密后文件不存在,创建失败!");
proFrame.setVisible(false);
return;
}
}
KeyDESFileCrypt keyDESFileCrypt = FileCryptFactory.create(FileCryptFactory.KEY_DES);
if (!keyDESFileCrypt.deCryptoDES(keyFile, srcFile, destFile,this)) {
JOptionPane.showMessageDialog(proFrame, "文件解密失败!");
proFrame.setVisible(false);
return;
} else {
if (this.proFrame.cryptFrame.jCheckBoxDeDelSrc.isSelected()) {
int rs = JOptionPane.showConfirmDialog(proFrame,
"文件解密完成,是否要删除原文件吗?", "提示:", JOptionPane.YES_NO_OPTION);
if (rs == JOptionPane.YES_OPTION) {
if (srcFile.exists()) {
srcFile.delete();
}
}
}
JOptionPane.showMessageDialog(proFrame, "成功解密文件!");
}
proFrame.setVisible(false);
return;
}
}
package com.crypt.file;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class DESFileThread extends Thread {
public ProcessFrame proFrame = null; // 父窗口
private boolean isEnd = false; // 取消
private boolean isPause = false; // 暂停
private Integer dummy = new Integer(1);
public void requestEnd(){
this.isEnd = true;
}
public void requestBegin(){
this.isEnd = false;
}
public void requestSuspend(){
this.isPause = true;
}
public void requestResume(){
this.isPause = false;
synchronized(dummy){
dummy.notifyAll();
}
}
public boolean isEnd(){
return this.isEnd;
}
public boolean isPause(){
return this.isPause;
}
public void waitForResume() throws InterruptedException {
synchronized(dummy){
while(this.isPause){
dummy.wait();
}
}
}
}
package com.crypt.file;
import javax.swing.JOptionPane;
import java.security.Key;
import java.io.File;
public class GenerateDESKeyFileThread extends Thread {
private CryptFrame frame = null; // 父窗口
private File keyFile = null;
public GenerateDESKeyFileThread(CryptFrame frame,File keyFile) {
this.frame = frame;
this.keyFile = keyFile;
}
public void run(){
this.frame.jButtonGenKeyFile.setEnabled(false);
// 产生key ,并保存
KeyDESFileCrypt keyDESFileCrypt = FileCryptFactory.create(FileCryptFactory.KEY_DES);
Key key = keyDESFileCrypt.generateDESKey();
if (key == null) {
JOptionPane.showMessageDialog(this.frame, "产生key出错!");
this.frame.jButtonGenKeyFile.setEnabled(true);
return;
}
if (!keyDESFileCrypt.saveDESKeyToFile(keyFile, key)) {
JOptionPane.showMessageDialog(this.frame, "保存key文件出错!");
if (keyFile.exists()) {
keyFile.delete();
}
} else {
JOptionPane.showMessageDialog(this.frame, "产生key,并保存成功!");
}
this.frame.jButtonGenKeyFile.setEnabled(true);
}
}
package com.crypt.file;
import java.awt.*;
import javax.swing.*;
import com.borland.jbcl.layout.XYLayout;
import com.borland.jbcl.layout.*;
import javax.swing.border.Border;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;
public class ProcessFrame extends JFrame {
CryptFrame cryptFrame = null; // 主窗体
DESFileThread desFileThread = null; // 处理线程
XYLayout xYLayout1 = new XYLayout();
JPanel jPanelLine = new JPanel();
XYLayout xYLayout2 = new XYLayout();
Border border = BorderFactory.createLineBorder(Color.GRAY);
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JLabel jLabel3 = new JLabel();
JLabel jLabel4 = new JLabel();
JLabel jLabel5 = new JLabel();
JLabel jLabel6 = new JLabel();
JProgressBar jProgressBar1 = new JProgressBar();
JLabel jLabel7 = new JLabel();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
public ProcessFrame(CryptFrame cryptFrame) {
this.cryptFrame = cryptFrame;
try {
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
private void jbInit() throws Exception {
getContentPane().setLayout(xYLayout1);
this.setResizable(false);
this.setTitle("正在加密/加密文件");
this.setVisible(true);
jPanelLine.setBorder(border);
jPanelLine.setLayout(xYLayout2);
&n
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -