20165220 实验五 网络编程与安全

一、实验报告封面

课程:Java程序设计 班级:1652班 姓名:葛宇豪 学号:20165220

指导教师:娄嘉鹏 实验日期:2018年5月28日

实验时间:15:35 - 17:15 实验序号:五

实验名称: 网络编程与安全

实验目的:
1、掌握Java Socket的相关内容;
2、学会建立客户端与服务器端之间的联系;
3、学习并应用密码学的相关内容

二、实验内容

任务(一)

1、结对实现中缀表达式转后缀表达式的功能 MyBC.java

2、结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用MyDC.java

任务(二)

1、基于Java Socket实现客户端/服务器功能,传输方式用TCP

2、客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式通过网络发送给服务器

3、服务器接收到后缀表达式,调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端

4、客户端显示服务器发送过来的结果

任务(三)

1、基于Java Socket实现客户端/服务器功能,传输方式用TCP

2、客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式用3DES或AES算法加密后通过网络把密文发送给服务器

3、服务器接收到后缀表达式表达式后,进行解密(和客户端协商密钥,可以用数组保存),然后调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端

4、客户端显示服务器发送过来的结果

任务(四)

1、基于Java Socket实现客户端/服务器功能,传输方式用TCP

2、客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式用3DES或AES算法加密通过网络把密文发送给服务器

3、客户端和服务器用DH算法进行3DES或AES算法的密钥交换

4、服务器接收到后缀表达式表达式后,进行解密,然后调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端

5、客户端显示服务器发送过来的结果

任务(五)

1、基于Java Socket实现客户端/服务器功能,传输方式用TCP

2、客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式用3DES或AES算法加密通过网络把密文和明文的MD5値发送给服务器

3、客户端和服务器用DH算法进行3DES或AES算法的密钥交换

4、服务器接收到后缀表达式表达式后,进行解密,解密后计算明文的MD5值,和客户端传来的MD5进行比较,一致则调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端

5、客户端显示服务器发送过来的结果

最后将每个任务的代码上传到码云。

实验(一)结果分析

实验(二)结果分析:

我负责客户端,20165231王扬鸿永同学负责服务器。

实验(三)结果分析:

这个比较复杂,我们参考了Java密码学算法

实验(四)结果分析:

实验(五)结果分析:

实验感想:这次实验感觉难度还是很大的,用了好多密码学相关知识,这也让我认识到了这些学科之间都是可以互通的,之前用C语言编写过密码学的相关加密解密,所以这次算是有所准备吧,期待接下来能够做的越来越好!

PSP:

 
PSPPersonal Software Process Stages预估耗时(小时)实际耗时(小时) 
Planning 计划 1 1  
· Estimate · 估计这个任务需要多少时间 5 10
· Analysis · 需求分析 (包括学习新技术) 2 2
· Design Spec · 生成设计文档 1 1
· Design Review · 设计复审 (和同事审核设计文档) 1 1
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 1 1
· Design · 具体设计 2 3
· Coding · 具体编码 5 6
· Code Review · 代码复审 1 1
· Test · 测试(自我测试,修改代码,提交修改) 1 1
Reporting 报告 1 1
· Test Report · 测试报告 2 2.5
· Size Measurement · 计算工作量 0.5 0.5
· Postmortem & Process · 事后总结, 并提出过程改进计划 3 2

原文地址:https://www.cnblogs.com/brs6666/p/9100854.html