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

课程:《程序设计与数据结构》
班级: 1723
姓名:黄宇瑭
学号:07
实验教师:王志强
实验日期:2018年6月15日
必修/选修: 必修

实验内容

一、

  • 参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA
  • 结对实现中缀表达式转后缀表达式的功能 MyBC.java
  • 结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用MyDC.java
  • 上传测试代码运行结果截图和码云链接
    二、
  • 人负责客户端,一人负责服务器
  • 注意责任归宿,要会通过测试证明自己没有问题
  • 基于Java Socket实现客户端/服务器功能,传输方式用TCP
  • 客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式通过网络发送给服务器
  • 服务器接收到后缀表达式,调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
  • 客户端显示服务器发送过来的结果
  • 上传测试结果截图和码云链接vity
    三、
  • 加密结对编程:1人负责客户端,一人负责服务器
  • 注意责任归宿,要会通过测试证明自己没有问题
  • 基于Java Socket实现客户端/服务器功能,传输方式用TCP
  • 客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式用3DES或AES算法加密后通过网络把密文发送给服务器
  • 服务器接收到后缀表达式表达式后,进行解密(和客户端协商密钥,可以用数组保存),然后调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
  • 客户端显示服务器发送过来的结果
  • 上传测试结果截图和码云链接
    四、
  • 密钥分发结对编程:1人负责客户端,一人负责服务器
  • 注意责任归宿,要会通过测试证明自己没有问题
  • 基于Java Socket实现客户端/服务器功能,传输方式用TCP
  • 客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式用3DES或AES算法加密通过网络把密文发送给服务器
  • 客户端和服务器用DH算法进行3DES或AES算法的密钥交换
  • 服务器接收到后缀表达式表达式后,进行解密,然后调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
  • 客户端显示服务器发送过来的结果
  • 上传测试结果截图和码云链接
    五、
  • 完整性校验结对编程:1人负责客户端,一人负责服务器
  • 注意责任归宿,要会通过测试证明自己没有问题
  • 基于Java Socket实现客户端/服务器功能,传输方式用TCP
  • 客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式用3DES或AES算法加密通过网络把密文和明文的MD5値发送给服务器
  • 客户端和服务器用DH算法进行3DES或AES算法的密钥交换
  • 服务器接收到后缀表达式表达式后,进行解密,解密后计算明文的MD5值,和客户端传来的MD5进行比较,一致则调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
  • 客户端显示服务器发送过来的结果
  • 上传测试结果截图和码云链接

实验过程及结果

(1).实验1:完成中缀转后缀及计算后缀表达式。
实验截图:

(2)实验2:客户端将用户输入的中缀表达式转化成后缀表达式,发送给服务器,服务器计算后缀表达式的结果将结果发回客户端。
实验截图:

(3)实验3:在实验二的基础上进行加密解密的过程。
实验截图:

(4)实验4:在实验三的基础上,将密钥也进行传输。
实验截图:

(5)实验5:在传输的同时将MD5值也进行传输,并对其值进行比较。

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

  • 问题1:在做客户端和服务器交互时出现无法连接的现象

  • 问题1解决方案:电脑的IP地址会改变,解决方式就是重新查看电脑的IP地址。

其他(感悟、思考等)

这次试验使我对密码学的知识有了更深入的了解。

参考资料

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

转载于:https://www.cnblogs.com/20172307hyt/p/9200927.html

20172307 2017-2018-2 《程序设计与数据结构》实验5报告相关推荐

  1. 20162329 张旭升 2017 - 2018 《程序设计与数据结构》第五周总结

    20162329 2017-2018-1 <程序设计与数据结构>第五周学习总结 教材学习内容总结 1.学习目标 了解集合的概念 了解并使用抽象数据类型 初步了解使用Java泛型 学习栈这种 ...

  2. 数据结构实验预习报告——校园导游系统

    一.问题描述和基本要求 [问题描述] 设计一个校园导游程序,为来访的客人提供各种信息查询服务. [基本要求] (1) 设计你所在学校的校园平面图,所含景点不少于10个.以图中顶点表示校内各景点,存放景 ...

  3. 20172307 2018-2019-1 《程序设计与数据结构》实验3报告

    20172307 2018-2019-1 <程序设计与数据结构>实验3报告 课程:<程序设计与数据结构> 班级: 1723 姓名:黄宇瑭 学号:07 实验教师:王志强 实验日期 ...

  4. 20172324 2018-2019-1《程序设计与数据结构》实验2报告

    20172324 2018-2019-1<程序设计与数据结构>实验2报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 曾程 学号:20172324 实验教师:王志强 ...

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

    这是这学期最后一次实验了,也是学到了很多东西,希望自己可以可以善始善终,加油! 让我们开始这一篇博客吧! 20172329 2017-2018-2 <程序设计与数据结构>实验五报告 课程: ...

  6. 20172328《程序设计与数据结构》实验二:树

    20172328<程序设计与数据结构>实验二:树 课程:<软件结构与数据结构> 班级: 1723 姓名: 李馨雨 学号:20172328 实验教师:王志强老师 实验日期:201 ...

  7. 20172318 2017-2018-2 《程序设计与数据结构》实验3报告

    20172318 2017-2018-2 <程序设计与数据结构>实验3报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 陆大岳 学号:20172318 实验教师:王 ...

  8. 《程序设计与数据结构》实验四报告

    学号 2017-2018-2 <程序设计与数据结构>实验四报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 康皓越 学号:20172326 实验教师:王志强 实验日 ...

  9. 20172305 2017-2018-2 《程序设计与数据结构》实验三报告

    20172305 2017-2018-2 <程序设计与数据结构>实验三报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 谭鑫 学号:20172305 实验教师:王志 ...

最新文章

  1. linux下c语言按q退出_在linux下C语言写了一个while循环,怎么实现按任意键退出。如何编写程序?...
  2. WritableWorkbook 详细用例 (转)
  3. PHP中的预定义常量、预定义变量、魔术常量
  4. python alpha量化交易软件_2019AI量化交易教程视频 AI量化交易模型教程 alpha量化选股模型交易系统 CTA型量化策略教程...
  5. YV12 and NV12
  6. Java 正则表达式的用法及常用方法
  7. 【编译原理】- 递归下降的语法分析器的实现
  8. android hook 第三方app_Android Hook技术
  9. linux的语音聊天工具,在 Ubuntu 中安装语音聊天工具 Discord
  10. 微信小程序:微信公众号申请微信小程序并认证的步骤
  11. javascript event click/dblclick left/right区分左键、右键、双击事件,排除点击事件与拖拽事件冲突,做防抖优化
  12. 什么是善辩型人格?善辩性人格的职业分析
  13. 手机制作音乐专辑封面_你如何制作好的专辑封面
  14. AutoML论文笔记(十二)Search to Distill: Pearls are Everywhere but not the Eyes:千里马常有,而伯乐不常有
  15. 用Python画一只溜达小狗——turtle库基础入门
  16. 2013传智播客视频--.ppt,.pptx,.doc,.docx.目录
  17. Java架构师成长之路-100问
  18. c语言单片机计算器编程,单片机做的计算器(C语言代码)
  19. java获取阿里邮箱收件箱、发件箱、草稿箱、已删除邮件、垃圾邮件
  20. PS新手教程!教你绘制一枚通透质感的游戏按钮

热门文章

  1. pytest命令行传参
  2. HTML轮播图全宽,jq全兼容自适应宽度图片轮播(新手适用)
  3. t检验的p值对照表_统计学|各类统计检验方法大汇总
  4. lambda表达式可以用来声明_lambda表达式可以用来创建包含多个表达式的匿名函数...
  5. ImportError: cannot import name '_ellipsoid'
  6. js设置控件的隐藏与显示的两种方法
  7. 运行项目报错invalid notify_url
  8. SSM框架笔记09:初探Spring——采用Java配置方式
  9. 复数基础——例题_4
  10. 2017.9.18 HH的项链 思考记录