20155229——实验五 Java网络编程及安全


实验一:

两人一组结对编程:
0. 参考

  1. 结对实现中缀表达式转后缀表达式的功能 MyBC.java
  2. 结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用MyDC.java
  • 遇到的问题:
  • 打开MyDC后public class MyDC这一行一直标红,不管在哪个文件下建立class都一样,检查代码也没有错,后来发现是因为其他的文件下存在同样名字的class

java 安全的网络通讯 java转网络安全_java 安全的网络通讯

java 安全的网络通讯 java转网络安全_客户端_02

  • 解决的办法是将其他的class删除,这样要运行的MyDC就不会标红和运行出错了。
结果截图

java 安全的网络通讯 java转网络安全_客户端_03

实验二:

结对编程:1人负责客户端,一人负责服务器
0. 注意责任归宿,要会通过测试证明自己没有问题

  1. 基于Java Socket实现客户端/服务器功能,传输方式用TCP
  2. 客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式通过网络发送给服务器
  3. 服务器接收到后缀表达式,调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
  4. 客户端显示服务器发送过来的结果

TCP

  • Socket类是Java执行客户端TCP操作的基础类,这个类本身使用代码通过主机操作系统的本地TCP栈进行通信。Socket类的方法会建立和销毁连接,设置各种Socket选项。
  • ServerSocket类是Java执行服务器端操作的基础类,该类运行于服务器,监听入站TCP连接,每个socket服务器监听服务器的某个端口,当远程主机的客户端尝试连接此端口时,服务器就被唤醒,并返回一个表示两台主机之间socket的正常Socket对象。
TCP 构造函数

Socket s=new Socket("127.0.0.1", 10001);//创建一个流套接字并将其连接到指定主机上的指定端口号

ServerSocket ss=new ServerSocket(10001);//创建绑定到特定端口的服务器套接字

服务端和客户端的联系

java 安全的网络通讯 java转网络安全_后缀表达式_04

结果截图

java 安全的网络通讯 java转网络安全_后缀表达式_05

实验三:

加密结对编程:1人负责客户端,一人负责服务器
0. 注意责任归宿,要会通过测试证明自己没有问题

  1. 基于Java Socket实现客户端/服务器功能,传输方式用TCP
  2. 客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式用3DES或AES算法加密后通过网络把密文发送给服务器
  3. 服务器接收到后缀表达式表达式后,进行解密(和客户端协商密钥,可以用数组保存),然后调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
  4. 客户端显示服务器发送过来的结果
结果截图

java 安全的网络通讯 java转网络安全_java 安全的网络通讯_06

实验四:

密钥分发结对编程:1人负责客户端,一人负责服务器
0. 注意责任归宿,要会通过测试证明自己没有问题

  1. 基于Java Socket实现客户端/服务器功能,传输方式用TCP
  2. 客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式用3DES或AES算法加密通过网络把密文发送给服务器
  3. 客户端和服务器用DH算法进行3DES或AES算法的密钥交换
  4. 服务器接收到后缀表达式表达式后,进行解密,然后调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
  5. 客户端显示服务器发送过来的结果
结果截图

java 安全的网络通讯 java转网络安全_客户端_07

实验五:

完整性校验结对编程:1人负责客户端,一人负责服务器
0. 注意责任归宿,要会通过测试证明自己没有问题

  1. 基于Java Socket实现客户端/服务器功能,传输方式用TCP
  2. 客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式用3DES或AES算法加密通过网络把密文和明文的MD5値发送给服务器
  3. 客户端和服务器用DH算法进行3DES或AES算法的密钥交换
  4. 服务器接收到后缀表达式表达式后,进行解密,解密后计算明文的MD5值,和客户端传来的MD5进行比较,一致则调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
  5. 客户端显示服务器发送过来的结果
结果截图

java 安全的网络通讯 java转网络安全_后缀表达式_08

我的PSP时间

步骤

耗时

百分比

需求分析

40分钟

14.81%

设计

40分钟

14.81%

代码实现

120分钟

44.44%

测试

40分钟

14.81%

分析总结

30分钟

11.11%