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

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

课程:《程序设计与数据结构》
班级: 1723
姓名: 赵晓海
学号:20172311
实验教师:王志强
实验日期: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算法加密通过网络把密文发送给服务器
  4. 客户端和服务器用DH算法进行3DES或AES算法的密钥交换
  5. 服务器接收到后缀表达式表达式后,进行解密,然后调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
  6. 客户端显示服务器发送过来的结果
  7. 上传测试结果截图和码云链接

网络编程与安全-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.实验过程及结果

网络编程与安全-1

结果提交截图:

1.中缀表达式转后缀表达式测试类运行结果:

2.后缀表达式计算测试类运行结果:

实验最终代码链接:

中缀转后缀测试类代码链接

后缀计算测试类代码链接

本实验收获:

通过本实验我学到了如何编写一个中缀表达式转成后缀表达式的类和如何编写一个后缀表达式计算的类,同时能够编写简单的测试类进行测试。


网络编程与安全-2

结果提交截图:

1.服务器运行截图:

2.客户端运行截图:

实验最终代码链接:

服务器代码链接

客户端代码链接

本实验收获

通过本实验的学习,我初步掌握了如何在客户端和服务器之间搭建平台,并且在服务器运行的条件下通过运行客户端实现客户端和服务器之间的一些交互。


网络编程与安全-3

结果提交截图:

1.服务器运行截图:

2.客户端运行截图:

实验最终代码链接:

客户端代码链接

服务器代码链接
客户端生成密钥代码链接

本实验收获:

通过学习本实验我了解到客户端和服务器之间的交互可以通过信息加密保证信息传递的安全,此实验中的对称加密客户端和服务器使用同一密钥进行加密和解密,密钥由客户端直接告诉服务器从而将信息解密。


网络编程与安全-4

结果提交截图:

1.服务器运行截图:

2.客户端运行截图:

实验最终代码链接:

客户端代码链接

服务器代码链接

本实验收获:

通过对本实验的学习了解到在客户端和服务器进行交互时密钥可以由客户端直接发到服务器,而其密钥的传送可以采用DH算法从而保证密钥的安全传送。


网络编程与安全-5

结果提交截图:

1.服务器运行截图:

2.客户端运行截图:

实验最终代码链接:

服务器代码链接

客户端代码链接

本实验收获:

通过对本实验的学习了解到为了保证信息没有被篡改,客户端可以附带发送一个明文的MD5值,服务器将密文解密之后计算所得明文的MD5值与客户端发过来的MD5值比较,若相同则进行后续的算式计算和操作,若不同则不进行后续计算和发送操作。


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

  • 问题:实验三中服务器运行后,客户端运行显示连接错误
  • 解决方案:通过询问老师得知电脑的IP地址是会变的,具体的查询电脑IP的过程如下:
    1.使用快捷键win+ r打开运行界面如下:

2.输入cmd后点击确定打开命令行界面如下:

3.命令行下输入ipconfig后敲击回车两次,红圈中的信息即是IP地址:


4.感想

通过本次试验,我了解到了客户端和服务器通过网络进行交互的基本过程,同时也意识到了信息在传送过程中的安全性问题,我们可以通过对信息加密保证信息的安全性和完整性。而具体的方法则有很多,希望日后能够更深入的学习和了解!!

5.参考资料

原文地址:https://www.cnblogs.com/zhaoxiaohai/p/9200477.html

时间: 2024-07-31 20:39:35

20172311 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

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.结对

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