基于DES加密的java Socket 程序(服务器端)
来源:互联网 发布:ubuntu 重置 编辑:程序博客网 时间:2024/05/22 05:30
server端程序:
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.*;
import java.util.concurrent.*;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class server extends JFrame{
private ObjectInputStream m_input;
private ObjectOutputStream m_output;
private JTextField m_enter;
private JTextArea m_display;
private int m_clientNumber = 0;
private Box box1;
public server() throws IOException{
super("聊天程序服务器端");
Container c = getContentPane();
m_enter = new JTextField();
m_enter.setEnabled(false);
m_enter.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
try {
String s = event.getActionCommand();
DesEncrypt des = new DesEncrypt(); // 实例化一个对像
des.getKey("aadd"); // 生成密匙
String strEnc = des.getEncString(s);//加密字符串,返回String的密文
m_output.writeObject(strEnc);
m_output.flush();
mb_displayAppend("服务器端:"+s);
m_enter.setText("");
} catch (Exception e) {
System.err.println("发生异常:" + e);
e.printStackTrace();
}
}
});
c.add(m_enter, BorderLayout.NORTH);
m_display = new JTextArea();
c.add(new JScrollPane(m_display), BorderLayout.CENTER);
}
public void mb_displayAppend(String s) {
m_display.append(s + "/n");
m_display.setCaretPosition(m_display.getText().length());
m_enter.requestFocusInWindow();
}
public boolean mb_isEndSession(String m) {
if (m.equalsIgnoreCase("q"))
return (true);
if (m.equalsIgnoreCase("quit"))
return (true);
if (m.equalsIgnoreCase("exit"))
return (true);
if (m.equalsIgnoreCase("end"))
return (true);
if (m.equalsIgnoreCase("结束"))
return (true);
return (false);
}
public void mb_run() {
try {
ServerSocket server = new ServerSocket(5000);
String m;
String strDes,senq;
while (true) {
m_clientNumber++;
mb_displayAppend("等待连接[" + m_clientNumber + "]");
Socket s = server.accept();
mb_displayAppend("接收客户端连接[" + m_clientNumber + "]");
m_output = new ObjectOutputStream(s.getOutputStream());
m_input = new ObjectInputStream(s.getInputStream());
m_output.writeObject("连接成功");
m_output.flush();
m_enter.enable(true);
do {
m = (String) m_input.readObject();
DesEncrypt des = new DesEncrypt(); // 实例化一个对像
des.getKey("aadd"); // 生成密匙
strDes = des.getDesString(m); // 把String 类型的密文解密
senq=des.getEncString("q");
mb_displayAppend("客户端为解密之前的信息为:"+m);
mb_displayAppend("客户端:" + strDes);
} while (!mb_isEndSession(strDes));
m_output.writeObject(senq);
m_output.flush();
m_enter.setEnabled(false);
m_output.close();
m_input.close();
mb_displayAppend("连接[" + m_clientNumber + "]");
}
} catch (Exception e) {
System.err.println("发生异常:" + e);
e.printStackTrace();
mb_displayAppend("连接[" + m_clientNumber + "]异常");
}
}
public static void main(String[] args) throws IOException {
server app=new server();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
app.setSize(500,400);
app.setVisible(true);
app.mb_run();
}
}
- 基于DES加密的java Socket 程序(服务器端)
- 基于DES加密的java socket程序(客户端)
- 基于DES加密的Java socket程序(加解密算、算法)
- Java的DES加密程序
- 基于DES加密的TCP聊天程序
- Java写的DES加密程序
- DES加密演示程序(JAVA版)
- 基于msp430的单片机的DES加密程序
- java的des加密
- java的des加密
- 基于java数组的DES加密、解密的算法实现
- 基于java的DES加密解密算法实现
- 基于socket、多线程的客户端服务器端聊天程序
- 基于socket的聊天室服务器端
- java的3DES加密
- java的3DES加密
- java实现的des加密
- java的3DES加密
- Java DES 加密解密 实例
- 在Spring中使用Hessian Remoting技术
- 人生境界
- Zend_Db_Profiler Log FireBug
- Android之下Menu的创建方式和事件响应
- 基于DES加密的java Socket 程序(服务器端)
- effective c++ 条款36: 区分接口继承和实现继承
- 基于DES加密的Java socket程序(加解密算、算法)
- 谈谈getchar()
- NVIDIA CUDA
- 科学研究如是说
- DirectX 9.0 3D 游戏开发编程基础 学习笔记(一)
- C++中的const关键字和volatile关键字
- Oracle ERP简介