• 大小: 15KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-12
  • 语言: Java
  • 标签: DES  java  socket  信息安全  

资源简介

基于客户端通信的DES加密的java实现,可支持同时实现多个客户端的加密通信,安全系数高。

资源截图

代码片段和文件信息

import java.awt.EventQueue;

import javax.swing.Jframe;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import java.awt.Font;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;

import javax.swing.JScrollPane;
import javax.swing.JTextArea;


@SuppressWarnings(“serial“)
public class CLient extends Jframe implements Runnable{

private JPanel contentPane;
    private int port;//设置的客户端端口号
    private String sendToip;//要接收方的ip地址
    private  int sendToport;//要接受方的端口号
    private String text;//要发送的明文
    private String result;
    ServerSocket ss=null;
    private Socket socket=null;
    private Thread thread=null;//该线程打开特定的端口号等待连接
    private DES des=null; 
    /**
 * Launch the application.
 */
    JTextArea resultArea;
    JTextArea mingwen;
    JTextArea ipArea;
    JTextArea portArea;
    JTextArea portSelf;
    
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
CLient frame = new CLient();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
 * Create the frame.
 */
public CLient() throws Exception{

settitle(“\u52A0/\u89E3\u5BC6\u8F6F\u4EF6\u5BA2\u6237\u7AEF“);
setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
setBounds(100 100 661 483);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5 5 5 5));
setContentPane(contentPane);
contentPane.setLayout(null);

JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(10 10 625 248);
contentPane.add(scrollPane);

resultArea = new JTextArea();
resultArea.setFont(new Font(“Monospaced“ Font.PLAIN 16));
resultArea.setLineWrap(true);
scrollPane.setViewportView(resultArea);

mingwen = new JTextArea();
mingwen.setFont(new Font(“Monospaced“ Font.PLAIN 18));
mingwen.setBounds(101 387 413 34);
contentPane.add(mingwen);
des=new DES();

//为发送按钮添加消息响应函数
JButton sendbtn = new JButton(“\u53D1\u9001“);
sendbtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
text=mingwen.getText();
try {
DataOutputStream dos=new DataOutputStream(socket.getOutputStream());
resultArea.setText(text);
// 利用des进行加密并发送密文
des.setMingwen(text);
try {
byte []ctext=des.encrypt();//加密
int len;
len=ctext.length;
         dos.writeInt(len);
         System.out.println(“len=“+len);
dos.write(ctext 0 len);

} catch (Exception e1) {
e1.printStackTrace();
}

//dos.writeUTF(text);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-02-09 09:37  DES\
     文件         301  2014-02-09 09:37  DES\.classpath
     文件         384  2014-02-09 09:37  DES\.project
     目录           0  2014-02-09 09:37  DES\.settings\
     文件         629  2014-02-09 09:37  DES\.settings\org.eclipse.jdt.core.prefs
     目录           0  2014-02-09 09:37  DES\bin\
     文件         677  2014-02-09 09:37  DES\bin\CLient$1.class
     文件        1966  2014-02-09 09:37  DES\bin\CLient$2.class
     文件         921  2014-02-09 09:37  DES\bin\CLient$3.class
     文件         570  2014-02-09 09:37  DES\bin\CLient$4.class
     文件        1530  2014-02-09 09:37  DES\bin\CLient$5.class
     文件        6361  2014-02-09 09:37  DES\bin\CLient.class
     文件        3202  2014-02-09 09:37  DES\bin\DES.class
     文件         282  2014-02-09 09:37  DES\key.dat
     文件          24  2014-02-09 09:37  DES\keykb.dat
     文件          16  2014-02-09 09:37  DES\SEnc.dat
     目录           0  2014-02-09 09:37  DES\src\
     文件        7038  2014-02-09 09:37  DES\src\CLient.java
     文件        3214  2014-02-09 09:37  DES\src\DES.java

评论

共有 条评论