📄 recnode1.txt
字号:
import java.awt.BorderLayout;
import java.awt.Rectangle;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import java.awt.Dimension;
import java.io.ObjectOutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.security.PublicKey;
import javax.swing.JScrollPane;
public class RecNode extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JPanel jPanel = null;
private static JTextArea jTextArea = null;
private JPanel jPanel1 = null;
private JButton jButton2 = null;
static JTextArea jTextArea1 = null;
private static JTextArea jTextArea3 = null;
private JScrollPane jScrollPane = null;
private static JTextArea jTextArea4 = null;
private JScrollPane jScrollPane1 = null;
private JScrollPane jScrollPane2 = null;
//自己定义的有关加解密的属性
private static RSA rsa = new RSA(); // @jve:decl-index=0:需要向对方发送RSApublicKey以及自身留下privateKey
private static DES des = new DES(); // @jve:decl-index=0:用来保存对方发送来的DES密钥,以及用到里边的解密函数.
private static PublicKey publicKey;//存放认证用的公钥
private JScrollPane jScrollPane3 = null;
public static void setPublicKey(PublicKey k){
publicKey = k;
}
public static RSA getRSA(){
return rsa;
}
public static PublicKey getPublicKey(){
return publicKey;
}
public static DES getDES(){
return des;
}
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel() {
if (jPanel == null) {
jPanel = new JPanel();
jPanel.setLayout(null);
jPanel.setBounds(new Rectangle(317, 4, 243, 361));
jPanel.add(getJScrollPane(), null);
jPanel.add(getJScrollPane1(), null);
jPanel.add(getJScrollPane2(), null);
}
return jPanel;
}
/**
* This method initializes jTextArea
*
* @return javax.swing.JTextArea
*/
private JTextArea getJTextArea() {
if (jTextArea == null) {
jTextArea = new JTextArea();
jTextArea.setLineWrap(true);
jTextArea.setBorder(BorderFactory.createTitledBorder("接收到的DES密钥:"));
}
return jTextArea;
}
/**
* This method initializes jPanel1
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel1() {
if (jPanel1 == null) {
jPanel1 = new JPanel();
jPanel1.setLayout(null);
jPanel1.setBounds(new Rectangle(-1, 5, 317, 361));
jPanel1.add(getJScrollPane3(), null);
jPanel1.add(getJButton2(), null);
}
return jPanel1;
}
/**
* This method initializes jButton2
*
* @return javax.swing.JButton
*/
private JButton getJButton2() {
if (jButton2 == null) {
jButton2 = new JButton();
jButton2.setText("\u91cd\u7f6e");
jButton2.setBounds(new Rectangle(105, 305, 100, 37));
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
jTextArea1.setText("");
}
});
}
return jButton2;
}
/**
* This method initializes jTextArea1
*
* @return javax.swing.JTextArea
*/
private static JTextArea getJTextArea1() {
if (jTextArea1 == null) {
jTextArea1 = new JTextArea();
jTextArea1.setName("jTextArea");
jTextArea1.setLineWrap(true);
jTextArea1.setBorder(BorderFactory.createTitledBorder("信息:"));
}
return jTextArea1;
}
public static void appendJTextArea1(String str){
jTextArea1.append(str);
}
public static void appendJTextArea(String str){
jTextArea.setText("");
jTextArea.append(str);
}
public static void appendJTextArea3(String str){
jTextArea3.setText("");
jTextArea3.append(str);
}
public static void appendJTextArea4(String str){
jTextArea4.setText("");
jTextArea4.append(str);
}
/**
* This method initializes jTextArea3
*
* @return javax.swing.JTextArea
*/
private JTextArea getJTextArea3() {
if (jTextArea3 == null) {
jTextArea3 = new JTextArea();
jTextArea3.setLineWrap(true);
jTextArea3.setBorder(BorderFactory.createTitledBorder("解密后的DES密钥:"));
}
return jTextArea3;
}
/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane() {
if (jScrollPane == null) {
jScrollPane = new JScrollPane();
jScrollPane.setBorder(BorderFactory.createTitledBorder("接收用来认证的publicKey:"));
jScrollPane.setViewportView(getJTextArea4());
jScrollPane.setBounds(new Rectangle(2, 6, 237, 94));
}
return jScrollPane;
}
/**
* This method initializes jTextArea4
*
* @return javax.swing.JTextArea
*/
private static JTextArea getJTextArea4() {
if (jTextArea4 == null) {
jTextArea4 = new JTextArea();
jTextArea4.setLineWrap(true);
}
return jTextArea4;
}
/**
* This method initializes jScrollPane1
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane1() {
if (jScrollPane1 == null) {
jScrollPane1 = new JScrollPane();
jScrollPane1.setBounds(new Rectangle(4, 100, 234, 105));
jScrollPane1.setViewportView(getJTextArea());
}
return jScrollPane1;
}
/**
* This method initializes jScrollPane2
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane2() {
if (jScrollPane2 == null) {
jScrollPane2 = new JScrollPane();
jScrollPane2.setBounds(new Rectangle(5, 209, 235, 115));
jScrollPane2.setViewportView(getJTextArea3());
}
return jScrollPane2;
}
/**
* This method initializes jScrollPane3
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane3() {
if (jScrollPane3 == null) {
jScrollPane3 = new JScrollPane();
jScrollPane3.setBounds(new Rectangle(5, 4, 311, 290));
jScrollPane3.setViewportView(getJTextArea1());
}
return jScrollPane3;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame thisClass = new RecNode();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}
/**
* This is the default constructor
*/
public RecNode() {
super();
initialize();
new ConnectListenStart().start();//发送一个RSA公钥给对方
new GetPublicKey().start();
new GetDESkey().start();
new MessageRec().start();//新建线程开始监听5111端口
}
static void sendRSApublicKey(String str){
try{
Socket s = new Socket(InetAddress.getByName(str),5113);
ObjectOutputStream objout = new ObjectOutputStream(s.getOutputStream());
objout.writeObject(rsa.getPublicKey());//向终端发送public Key
objout.flush();//刷新缓冲区
}catch(Exception ex){
ex.printStackTrace();
}
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(569, 393);
this.setContentPane(getJContentPane());
this.setTitle("消息接受端");
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getJPanel(), null);
jContentPane.add(getJPanel1(), null);
}
return jContentPane;
}
} // @jve:decl-index=0:visual-constraint="10,10"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -