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

news/2024/7/5 12:30:49
  • 课程:程序设计与数据结构
  • 班级:1723
  • 姓名:段志轩
  • 学号:20172304
  • 实验老师:王志强
  • 选修/必修:必修

    实验内容

  • 实验1:
    两人一组结对编程:
    参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA
    结对实现中缀表达式转后缀表达式的功能 MyBC.java
    结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用MyDC.java
    上传测试代码运行结果截图和码云链接

  • 实验2:
    结对编程:1人负责客户端,一人负责服务器
    注意责任归宿,要会通过测试证明自己没有问题
    基于Java Socket实现客户端/服务器功能,传输方式用TCP
    客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式通过网络发送给服务器
    服务器接收到后缀表达式,调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
    客户端显示服务器发送过来的结果
    上传测试结果截图和码云链接

  • 实验3:
    加密结对编程:1人负责客户端,一人负责服务器
    注意责任归宿,要会通过测试证明自己没有问题
    基于Java Socket实现客户端/服务器功能,传输方式用TCP
    客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式用3DES或AES算法加密后通过网络把密文发送给服务器
    服务器接收到后缀表达式表达式后,进行解密(和客户端协商密钥,可以用数组保存),然后调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
    客户端显示服务器发送过来的结果
    上传测试结果截图和码云链接

  • 实验4:
    密钥分发结对编程:1人负责客户端,一人负责服务器
    注意责任归宿,要会通过测试证明自己没有问题
    基于Java Socket实现客户端/服务器功能,传输方式用TCP
    客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式用3DES或AES算法加密通过网络把密文发送给服务器
    客户端和服务器用DH算法进行3DES或AES算法的密钥交换
    服务器接收到后缀表达式表达式后,进行解密,然后调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
    客户端显示服务器发送过来的结果
    上传测试结果截图和码云链接:

  • 实验5 网络编程与安全-5
    完整性校验结对编程:1人负责客户端,一人负责服务器
    注意责任归宿,要会通过测试证明自己没有问题
    基于Java Socket实现客户端/服务器功能,传输方式用TCP
    客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式用3DES或AES算法加密通过网络把密文和明文的MD5値发送给服务器
    客户端和服务器用DH算法进行3DES或AES算法的密钥交换
    服务器接收到后缀表达式表达式后,进行解密,解密后计算明文的MD5值,和客户端传来的MD5进行比较,一致则调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
    客户端显示服务器发送过来的结果
    上传测试结果截图和码云链接

    实验过程与实验结果

    实验一之前在四则运算中实现过了

    1333068-20180619233935831-1020303306.png
    实验二实现客户端和用户端的连接
    1333068-20180619234618480-82622197.png
    1333068-20180619234635059-1473452490.png
    实验三在用户和客户端之间实现加密传输
    通过娄老师的博客实现生成密钥,然后先用密钥在客户端进行加密,然后在服务器进行解密
    1333068-20180619235030312-1794852619.png
    1333068-20180619235048417-1243673036.png
    实验四在进行密钥传输的基础上加入公钥和私钥
    1333068-20180619235454726-1781483005.png
    1333068-20180619235512391-345249482.png
    实验五在其中加入了MD5算法老师说主要是为了确定密文的完整性
    1333068-20180619235618955-389993828.png
    1333068-20180619235630885-894273413.png

    实验中遇见的问题

  • 问题一:在实验过程中常常遇见不能连接服务器的情况,后来发现是端口被占用的问题。

    1333068-20180619235827670-1820714322.png

  • 问题一解决方案:只要在服务器和客户端将端口更改就可以了
  • 问题二:在实验过程中遇见了使用命令行的情况,但是我的idea无法使用命令行。
  • 问题二解决方案:后来同学告诉我是idea经过汉化后导致的问题,于是我就将idea中的汉化包删除了果然就正常了

    其他

    这算是本学期最后一次java课了,这次的实验并不是很难,所以用的实验不多,回想刚开学时还是一个编程节的小白,现在已经拥有了基础的编程技能了,真是令人难以置信。不知道后来的学习生活中还会接触到什么样的新知识,我还是很期待的。

    参考资料

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

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

转载于:https://www.cnblogs.com/15248252144dzx/p/9201721.html


http://www.niftyadmin.cn/n/4287234.html

相关文章

女人如何零风险成功转行?

“零风险成功转行”,听起来仿佛天方夜谭般不切实际,毕竟在充满变数的职场中,能掌握“零风险”局面的,往往只有少数人。 “华丽转身”要领 一个再强的女人,走上独立创业的路,其间总难免经历坎坷。关媛之也不…

列表配置字段action列失效解决方法——JEPLUS软件快速开发平台

为什么80%的码农都做不了架构师?>>> JEPLUS列表配置字段action列失效解决方法 在我们配置列表字段配置action列出来刷新列表发现操作字段里面是空白的,那我们怎么来解决这样的问题呢! 一、效果展示 二、解决措施 1、首先我们先检…

公务员备考技巧、考试技巧、注意事项

要想在公务员考试中得高分就得加快做题速度,要想快速做题就得具备速读记忆能力。   快速阅读的好处是读得快才能读得多、读得快才能理解得好,快速阅读能促进快速记忆和快速理解,因为考生要想读得快就得在短时间内注意力高度集中,注意力高度集中就会提高效率,就容…

2010年1月24日运城4.8级地震有感

昨日收看新闻,我的家乡发生了4.8级地震,一开始害怕,后来报道没有伤亡信息,想必不是很严重。晚上才给家里打电话, 获知震感还是比强烈的。随后联想前些日子看的《2012 》。感觉玛雅预言有那么一丝丝的可信之处。说这些…

css笔记 - 张鑫旭css课程笔记之 float 篇

https://www.imooc.com/t/197450float float的设计初衷/原本作用-是为了实现文字环绕效果如,一个图片和一段文字垂直放置,给图片加上浮动,文字就环绕图片展示了。 浮动的包裹与破坏 包裹 收缩 坚挺 隔绝 - BFC具有包裹的其他属性:…

什么是IT咨询?IT外包又是什么?

最近在看IT 咨询关的信息,拿来与大家分享一下。IT咨询也可称为信息化咨询,它是对企业进行一次全方位的系统改造,主要涉及企业管理模式设计、业务流程重组、信息化解决方案设计与管理软件系统的实施应用。该领域国际上最著名的咨询公司就是贝恩…

在你的服务器上创建多个网站项目

前提:服务器为2003sever。 如果某个网站程序使用相同的文件夹名,比如ABC,您在您的服务器上又需要创建多个网站项目,分别服务于不同的用户。怎样分类去创建网站方便浏览?今天学会的新东西,与大家分享&#…

hadoop0.20.2伪分布式环境搭建

虽然现在hadoop版本已经到了主流2点多的时代,但是对于学习大数据而言,我还是选择从以前老的版本0.20.2学起。下面就是伪分布式的环境搭建过程。hadoop下载地址:http://archive.apache.org/dist/hadoop/core/hadoop-0.20.2/hadoop-0.20.2.tar.…