• 大小: 34KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-09
  • 语言: 其他
  • 标签: DES  RSA  Socket  

资源简介

默认使用DES加密聊天信息的SocketChat(内含DES与RSA加密工具) 使用的是GBK编码!!!

资源截图

代码片段和文件信息

import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;

import javax.swing.JButton;
import javax.swing.Jframe;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.SwingConstants;

/**
 * @author CSDN_LQR
 * @工程 DecryptSocketChat
 * @包名
 * @TODO 聊天客户端
 */
public class ClientSwing implements ActionListener {

private Jframe mframe;
private static JScrollPane mScrollPane;
private JTextField mtextField;
private JButton mBtnNewButton;
private static JPanel mJPanel;
private static JScrollBar mScrollBar;

private static Socket socket;
private static BufferedReader mInput;
private static PrintWriter mOutput;

/**
 * Launch the application.
 */
public static void main(String[] args) {

DESDecryptUtils.generateKeyToFile();

EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ClientSwing window = new ClientSwing();
window.mframe.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});

try {
socket = new Socket(“127.0.0.1“ 9999);
} catch (Exception e1) {
}

// 接收消息
new Thread(new Runnable() {

public void run() {
while (true) {
try {
// 得到socket输入流
mInput = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
String content = mInput.readLine();

// 解密信息
content = DESDecryptUtils.getDeencryMessage(content);

// 判断是否要结束聊天
System.out.println(“客户端得到信息:“ + content);

/* ========== 把收到的信息显示到滚动面板中 =========== */
// 创建一个label
JLabel label = new JLabel(content);
// label.setHorizontalAlignment(SwingConstants.RIGHT);
// 设置初始大小
label.setPreferredSize(new Dimension(150 20));
// 把lable添加到jpanel中
mJPanel.add(label);
// 重绘jpanel和jScrollPane
mJPanel.repaint();

mScrollPane.repaint();
mScrollPane.revalidate();
mScrollPane.updateUI();

// 把滚动条滚到底部
mScrollBar.setValue(10000);

} catch (IOException e) {
// e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}).start();
}

// 按钮监听
public void actionPerformed(ActionEvent e) {
// 发送按钮
if (e.getSource().equals(mBtnNewButton)) {
String content = mtextField.getText().trim();
// 内容不为空
if (!content.equals(““)) {

try {
// 得到socket输出流
mOutput = new PrintWriter(new OutputStreamWriter(
socket.getOutputStream()) true);
// 创建一个label
JLabel label = new JLabel(c

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-05-17 09:35  DecryptSocketChat\
     文件         301  2016-05-17 09:09  DecryptSocketChat\.classpath
     文件         393  2016-05-17 09:08  DecryptSocketChat\.project
     目录           0  2016-05-17 09:09  DecryptSocketChat\.settings\
     文件          55  2016-05-17 09:09  DecryptSocketChat\.settings\org.eclipse.core.resources.prefs
     文件         598  2016-05-17 09:09  DecryptSocketChat\.settings\org.eclipse.jdt.core.prefs
     目录           0  2016-05-19 21:15  DecryptSocketChat\bin\
     文件         789  2016-05-19 21:15  DecryptSocketChat\bin\ClientSwing$1.class
     文件        2204  2016-05-19 21:15  DecryptSocketChat\bin\ClientSwing$2.class
     文件         618  2016-05-19 21:15  DecryptSocketChat\bin\ClientSwing$3.class
     文件        4596  2016-05-19 21:15  DecryptSocketChat\bin\ClientSwing.class
     文件        6364  2016-05-19 21:05  DecryptSocketChat\bin\Conversion.class
     文件        3421  2016-05-19 21:15  DecryptSocketChat\bin\DESDecryptUtils.class
     文件        2939  2016-05-19 21:15  DecryptSocketChat\bin\RSADecryptUtils.class
     文件         789  2016-05-19 21:15  DecryptSocketChat\bin\ServerSwing$1.class
     文件        2344  2016-05-19 21:15  DecryptSocketChat\bin\ServerSwing$2.class
     文件         618  2016-05-19 21:15  DecryptSocketChat\bin\ServerSwing$3.class
     文件        4624  2016-05-19 21:15  DecryptSocketChat\bin\ServerSwing.class
     文件        4148  2016-05-19 21:13  DecryptSocketChat\bin\VerticalFlowLayout.class
     文件         263  2016-05-17 09:35  DecryptSocketChat\key.key
     目录           0  2016-05-19 21:15  DecryptSocketChat\src\
     文件        4978  2016-05-19 21:15  DecryptSocketChat\src\ClientSwing.java
     文件       11243  2016-05-19 21:05  DecryptSocketChat\src\Conversion.java
     文件        2949  2016-05-19 21:15  DecryptSocketChat\src\DESDecryptUtils.java
     文件        2929  2016-05-19 21:15  DecryptSocketChat\src\RSADecryptUtils.java
     文件        5196  2016-05-19 21:15  DecryptSocketChat\src\ServerSwing.java
     文件        7049  2016-05-19 21:13  DecryptSocketChat\src\VerticalFlowLayout.java

评论

共有 条评论