字符串加密(三)
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
SecretUI window = new SecretUI();
window.jframe.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public SecretUI() {
initialize();
}
private void initialize() {
jframe = new JFrame();
jframe.setTitle("\u5B57\u7B26\u4E32\u52A0\u5BC6 By:\u6BDB\u5174\u5B87");
jframe.setBounds(100, 100, 424, 199);
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jframe.getContentPane().setLayout(null);
int w = jframe.getToolkit().getScreenSize().width;//宽度
int h = jframe.getToolkit().getScreenSize().height;//高度
jframe.setLocation(w/2-212,h/2-99);
jframe.setResizable(false);
JLabel label = new JLabel("\u9700\u52A0\u5BC6\u5B57\u7B26\u4E32:");
label.setBounds(16, 14, 82, 15);
jframe.getContentPane().add(label);
JLabel labelMD5 = new JLabel("MD5\u52A0\u5BC6:");
labelMD5.setBounds(30, 50, 54, 15);
jframe.getContentPane().add(labelMD5);
JLabel labelSHA = new JLabel("SHA\u52A0\u5BC6:");
labelSHA.setBounds(30, 86, 54, 15);
jframe.getContentPane().add(labelSHA);
JLabel labelDES = new JLabel("DES\u52A0\u5BC6:");
labelDES.setBounds(30, 122, 54, 15);
jframe.getContentPane().add(labelDES);
textfield = new JTextField();
textfield.setBounds(102, 11, 304, 21);
jframe.getContentPane().add(textfield);
textfield.setColumns(10);
Document dt = textfield.getDocument();
dt.addDocumentListener(this);
textfieldMD5 = new JTextField();
textfieldMD5.setColumns(10);
textfieldMD5.setBounds(102, 47, 304, 21);
jframe.getContentPane().add(textfieldMD5);
textfieldSHA = new JTextField();
textfieldSHA.setColumns(10);
textfieldSHA.setBounds(102, 83, 304, 21);
jframe.getContentPane().add(textfieldSHA);
textfieldDES = new JTextField();
textfieldDES.setColumns(10);
textfieldDES.setBounds(102, 119, 304, 21);
jframe.getContentPane().add(textfieldDES);
}
/**
* 实现DocumentListener接口changedUpdate方法
* 该方法可以跟踪当文本框中已存在的内容改变时,获取相应的值
*/
public void changedUpdate(DocumentEvent e) {
Secret sr = new Secret();
textfieldMD5.setText(sr.encryptToMD5(textfield.getText()));
textfieldSHA.setText(sr.encryptToSHA(textfield.getText()));
SecretKey key = sr.createSecretKey("DES");
textfieldDES.setText(sr.encryptToDES(key, textfield.getText()));
}
/**
* 实现DocumentListener接口中insertUpdate方法
* 该方法可以跟踪文本框中输入的内容
*/
public void insertUpdate(DocumentEvent e) {
Secret sr = new Secret();
textfieldMD5.setText(sr.encryptToMD5(textfield.getText()));
textfieldSHA.setText(sr.encryptToSHA(textfield.getText()));
SecretKey key = sr.createSecretKey("DES");
textfieldDES.setText(sr.encryptToDES(key, textfield.getText()));
}
/**
* 实现DocumentListener接口removeUpdate方法
* 该方法可以跟踪文本框中移除的内容,例如:在文本框中点击Backspace
*/
public void removeUpdate(DocumentEvent e) {
Secret sr = new Secret();
textfieldMD5.setText(sr.encryptToMD5(textfield.getText()));
textfieldSHA.setText(sr.encryptToSHA(textfield.getText()));
SecretKey key = sr.createSecretKey("DES");
textfieldDES.setText(sr.encryptToDES(key, textfield.getText()));
}
}