20172308 2017-2018-2 《程序设计与数据结构》实验五报告

20172308 2017-2018-2 《程序设计与数据结构》实验五报告

课程:《程序设计与数据结构》

班级: 1723

姓名: 马瑞蕃

学号:20172327

实验教师:王志强

实验日期:2018年6月13日~2018年6月18日

必修/选修: 必修

1.实验内容

+ 任务1:

两人一组结对编程:

1.参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA

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

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

4.上传测试代码运行结果截图和码云链接

+ 任务2:

结对编程:(1人负责客户端,一人负责服务器)

1.注意责任归宿,要会通过测试证明自己没有问题

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

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

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

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

6.上传测试结果截图和码云链接

+ 任务3:

加密结对编程:(1人负责客户端,一人负责服务器)

1.注意责任归宿,要会通过测试证明自己没有问题

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

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

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

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

6.上传测试结果截图和码云链接

+ 任务4:

密钥分发结对编程:(1人负责客户端,一人负责服务器)

1.注意责任归宿,要会通过测试证明自己没有问题

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

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

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

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

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

6.上传测试结果截图和码云链接

+ 任务5:

网络编程与安全

完整性校验结对编程:(1人负责客户端,一人负责服务器)

1.注意责任归宿,要会通过测试证明自己没有问题

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

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

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

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

6.客户端显示服务器发送过来的结果

7.上传测试结果截图和码云链接

2. 实验过程及结果

  • 实验一:四则运算以前做过,直接进行截图

    实验过程:

  • 实验二:和李闻洲同学一起做的,客户端先将四则运算的自动生成题目改为输入中缀表达式,后将生成的后缀表达式传给服务器,最后由服务器调用后缀计算类,最后将答案反馈给客户端。

    实验过程:

  • 实验三:加入了对称加密,所以改的部分还挺多,首先我改了客户端类,并先用DES加密算法生成密钥,并引用密钥,将后缀表达式加密,传给服务器,然后我在服务器类下面将密钥文件复制进去,在服务器里,读取密钥并将传过来的加密的后缀表达式解密,之后就和实验二一样,计算并反馈。

    实验过程:

  • 实验四:将对称加密变为非对称加密,过程挺麻烦,我画了一张图:

实验过程:

  • 实验五:完成课本二十八章的代码编写

3. 实验过程中遇到的问题和解决过程

问题1:在做第四个实验时,发现客户端总是提示密钥输出到最后好像输出不了了,服务器一点东西都收不到。

问题1解决方案:这个问题其实有很多的同学都遇到了,我找他们咨询,他们告诉我换个加密方式,所以我将DESede方法改为AES,发现就成功了。

参考资料

  • 《Java程序设计与数据结构教程(第二版)》
  • 《Java程序设计与数据结构教程(第二版)》学习指导

原文地址:https://www.cnblogs.com/mrf1209/p/9195874.html

时间: 2024-11-04 18:34:31

20172308 2017-2018-2 《程序设计与数据结构》实验五报告的相关文章

20172329 2017-2018-2 《程序设计与数据结构》实验五报告

这是这学期最后一次实验了,也是学到了很多东西,希望自己可以可以善始善终,加油! 让我们开始这一篇博客吧! 20172329 2017-2018-2 <程序设计与数据结构>实验五报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 王文彬 学号:20172329 实验教师:王志强 实验日期:2018年6月11日 必修/选修: 必修 一.实验内容 1.网络编程与安全-1 两人一组结对编程: a. 参考http://www.cnblogs.com/rocedu/p/6766748

20172311 2017-2018-2 《程序设计与数据结构》实验五报告

20172311 2017-2018-2 <程序设计与数据结构>实验五报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 赵晓海 学号:20172311 实验教师:王志强 实验日期:2018年6月18日 必修/选修: 必修 1.实验内容 网络编程与安全-1 两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA 结对实现中缀表达式转后缀表达式的功能 MyBC.java 结对实现从上面功能中获取的表达式

20172321 2017-2018-2 《程序设计与数据结构》实验五报告

20172321 2017-2018-2 <程序设计与数据结构>实验五报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 吴恒佚 学号:20172321 实验教师:王志强 实验日期:2018年6月13日~2018年6月18日 必修/选修: 必修 一.实验内容 1.网络编程与安全-1 两人一组结对编程: a. 参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA b. 结对实现中缀表达式转后缀表达式的功能 MyBC.ja

# 学号 2017-2018-20172309 《程序设计与数据结构》实验五报告

2017-2018-20172309 <程序设计与数据结构>实验五报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 王志伟 学号:20172309 实验教师:王志强老师 实验日期:2018年6月13日 必修/选修: 必修 1.实验内容 预备实验: 实验要求: 1.伙伴1编写服务器端程序,接收客户端发送的数据(形式如下:12 15 8 100 25 34 19),将其排序后,发回给客户端. 2.伙伴2编写客户端程序,将一串字符串(形式如下:12 15 8 100 25 3

20172332 2017-2018-2 《程序设计与数据结构》实验五报告

20172332 2017-2018-2 <程序设计与数据结构>实验五报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 于欣月 学号:20172332 实验教师:王志强 实验日期:2018年6月13日 必修/选修: 必修 1.实验内容 ①结对实现中缀表达式转后缀表达式的功能 MyBC.java 结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用MyDC.java 上传测试代码运行结果截图和码云链接 ②结对编程:1人负责客户端,一人负责服务器 注意责任归宿,

20172325 2017-2018-2 《程序设计与数据结构》实验五报告

20172325 2017-2018-2 <程序设计与数据结构>实验五报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 邓煜坤 学号:20172325 实验教师:王志强 实验日期:2018年6月19日 必修/选修: 必修 一.实验内容 任务1: 两人一组结对编程: 1.参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA 2.结对实现中缀表达式转后缀表达式的功能 MyBC.java 3.结对实现从上面功能中获取的表达

20172301 2017-2018-2 《程序设计与数据结构》实验五报告

20172301 2017-2018-2 <程序设计与数据结构>实验五报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 郭恺 学号: 20172301 实验教师:王志强老师 助教:张旭升/刘伟康 实验日期:2018年6月18日 必修/选修: 必修 1.实验内容 实验1: 结对实现中缀表达式转后缀表达式的功能 Convert.java(我们小组的中缀转后缀的类名) 结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用Comparision.java 上传测试代

20172315 2017-2018-2 《程序设计与数据结构》实验五报告

20172315 2017-2018-2 <程序设计与数据结构>实验五报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 胡智韬 学号:20172315 实验教师:王志强 实验日期:2018年6月18日 必修/选修: 必修 1.实验内容 实验五 网络编程与安全-1 参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA 结对实现中缀表达式转后缀表达式的功能 MyBC.java 结对实现从上面功能中获取的表达式中实现后缀表

20182311 2019-2020-1 《数据结构与面向对象程序设计》实验五报告

20182311 2019-2020-1 <数据结构与面向对象程序设计>实验五报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 冷冲 学号:20182311 实验教师:王志强 实验日期:2019年10月16日 必修/选修: 必修 1.实验内容 1.Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)>第二十四章: 参考http://www.cnblogs.c