20155205《Java程序设计》实验五(网络编程与安全)实验报告
2017-06-03 10:45
615 查看
20155205 《Java程序设计》实验五(网络编程与安全)实验报告
一、实验内容及步骤
(一) 两人一组结对编程
参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA结对实现中缀表达式转后缀表达式的功能 MyBC.java
结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用MyDC.java
上传测试代码运行结果截图和码云链接
结果截图:
(二) 结对编程
注意责任归宿,要会通过测试证明自己没有问题基于Java Socket实现客户端/服务器功能,传输方式用TCP
客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式通过网络发送给服务器
服务器接收到后缀表达式,调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
客户端显示服务器发送过来的结果
上传测试结果截图和码云链接
结果截图:
(三) 加密结对编程
注意责任归宿,要会通过测试证明自己没有问题基于Java Socket实现客户端/服务器功能,传输方式用TCP
客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式用3DES或AES算法加密后通过网络把密文发送给服务器
服务器接收到后缀表达式表达式后,进行解密(和客户端协商密钥,可以用数组保存),然后调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
客户端显示服务器发送过来的结果
上传测试结果截图和码云链接
结果截图:
(四) 密钥分发结对编程
注意责任归宿,要会通过测试证明自己没有问题基于Java Socket实现客户端/服务器功能,传输方式用TCP
客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式用3DES或AES算法加密通过网络把密文发送给服务器
客户端和服务器用DH算法进行3DES或AES算法的密钥交换
服务器接收到后缀表达式表达式后,进行解密,然后调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
客户端显示服务器发送过来的结果
上传测试结果截图和码云链接
结果截图:
(五) 完整性校验结对编程
注意责任归宿,要会通过测试证明自己没有问题基于Java Socket实现客户端/服务器功能,传输方式用TCP
客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式用3DES或AES算法加密通过网络把密文和明文的MD5値发送给服务器
客户端和服务器用DH算法进行3DES或AES算法的密钥交换
服务器接收到后缀表达式表达式后,进行解密,解密后计算明文的MD5值,和客户端传来的MD5进行比较,一致则调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
客户端显示服务器发送过来的结果
结果截图:
二、分析与总结
(一)遇到的问题及解决方案
问题1:在完成任务一时,想要按照娄老师给出的算符优先法求解表达式:(生成后缀表达式+后缀表达式求值)中的步骤来做,但是发现会发生逻辑错误。问题1解决方案:要在其中添加一些逻辑判断。
问题2:如何建立优先级表?
问题2解决方案:可以建立二维数组;也可以新建比较函数。
问题3:怎么知道自己的主机地址?
问题3解决方案:输入代码便可知:
import java.net.*; public class ShowIP { public static void main(String[] args) { try { if(args.length > 0) { String hostName = args[0]; //主机名 InetAddress[] addr = InetAddress.getAllByName(hostName); //得到该主机的所有地址 //打印输出至控制台 for(InetAddress address : addr) { System.out.println(address.getHostAddress()); } } else { System.out.println(InetAddress.getLocalHost().getHostAddress()); } } catch(Exception e) { e.printStackTrace(); } } }
得到结果:
(二)PSP
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 10min | 6.7% |
设计 | 20min | 13% |
代码实现 | 80min | 53% |
测试 | 20min | 13% |
分析总结 | 20min | 13% |
相关文章推荐
- 20145207《Java程序设计》实验五(网络编程与安全)实验报告
- 20155236 《Java程序设计》实验五(网络编程与安全)实验报告
- 20155218 《Java程序设计》实验五(网络编程与安全)实验报告
- 20155304 2016-2017-2 《Java程序设计》实验五(网络编程与安全)实验报告
- 20145326 《Java程序设计》实验五——Java网络编程及安全实验报告
- 20155310《Java程序设计》实验五(网络编程与安全)实验报告
- 20155311《Java程序设计》实验五(网络编程与安全)实验报告
- 20155319 《Java程序设计》实验五(网络编程与安全)实验报告
- 20155326 《Java程序设计》实验五网络编程与安全实验报告
- 实验五 网络编程与安全实验报告 20162306陈是奇
- 20145211 《Java程序设计》实验报告五————Java网络编程及安全实验报告
- 20155317 《Java程序设计》实验五网络编程与安全实验报告
- 实验五 网络编程与安全 实验报告 20162305 李昱兴
- 20145219 《Java程序设计》实验五 Java网络编程及安全实验报告
- 20155318 《Java程序设计》实验五 (网络编程与安全)实验报告
- 20155339 《Java程序设计》实验五网络编程与安全实验报告
- 实验五 网络编程与安全 实验报告
- 20155305 2016-2017-2 《Java程序设计》 实验五 Java网络编程及安全实验报告
- 20155338 《JAVA程序设计》实验五网络编程与安全实验报告
- 20145205 《Java程序设计》实验报告五:Java网络编程及安全