• 实验五 网络编程与安全 实验报告


    实验五 网络编程与安全 实验报告

    目录

    一、代码托管地址

    返回目录

    网络编程与安全-1

    实验目的

    两人一组结对编程:
    0. 参考数据结构应用

    1. 结对实现中缀表达式转后缀表达式的功能 MyBC.java
    2. 结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用MyDC.java
    3. 上传测试代码运行结果截图和码云链接

    实验步骤

    1.编写MyBC.java(在前几周的四则运算作业中已经完成,只需拷贝过来)

    方法测试

    2.在MyDCTester.java中调用MyBC.javaMyDC.Java
    3.运行MyDCTester.java,提交结果截图

    遇到的问题及解决办法

    这个实验的代码在之前已经写好了,只需组合在一起就行了,没有遇到什么问题

    实验小结

    本次实验的主要目的是练习把各个代码组合在一起形成一个系统,在测试类中调用MyBC.javaMyDC.Java中的方法,可以很方便的对中缀表达式求值

    返回目录

    三、网络编程与安全-2

    实验目的

    结对编程:一人负责客户端,一人负责服务器
    0. 注意责任归宿,要会通过测试证明自己没有问题

    1. 基于Java Socket实现客户端/服务器功能,传输方式用TCP
    2. 客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式通过网络发送给服务器
    3. 服务器接收到后缀表达式,调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
    4. 客户端显示服务器发送过来的结果

    实验步骤

    1. 编写客户端和服务器的代码,参考java 客户端连接服务器 发送对象 打印字符串
    2. 在客户端中输入中缀表达式,转化成后缀表达式传给服务器
    3. 服务器接收后进行计算,把结果传回客户端并打印

    遇到的问题及解决办法

    实验小结

    本次实验主要问题是建立客户端与服务器的连接,并实现数据的传输。一开始看书上的代码不太懂,在网上查了相关资料之后才弄懂。之后就只需在客户端和服务器实现MyDCTester.Java的功能就行了。

    返回目录

    四、网络编程与安全-3

    实验目的

    加密结对编程:1人负责客户端,一人负责服务器
    0. 注意责任归宿,要会通过测试证明自己没有问题

    1. 基于Java Socket实现客户端/服务器功能,传输方式用TCP
    2. 客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式用3DES或AES算法加密后通过网络把密文发送给服务器
    3. 服务器接收到后缀表达式表达式后,进行解密(和客户端协商密钥,可以用数组保存),然后调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
    4. 客户端显示服务器发送过来的结果

    实验步骤

    1. 在上个实验的基础上对客户端要发送的信息进行AES加密
    2. 对接收的信息进行解密,计算结果
    3. 把结果发回客户端,并在客户端显示

    遇到的问题及解决办法

    • 问题:AES加密算法如何使用
    • 解决办法:参考JAVA实现AES加密,创建AES.Java,在客户端调用其中加密方法进行加密,在服务器调用解密方法进行解密

    实验小结

    本次实验的难点是AES加密。其实之前学了DES加密,不过这次想换种方法。于是在网上找了相关代码,也算是学会了一种新的加密方法。

    返回目录

    五、网络编程与安全-4

    实验目的

    密钥分发结对编程:1人负责客户端,一人负责服务器
    0. 注意责任归宿,要会通过测试证明自己没有问题

    1. 基于Java Socket实现客户端/服务器功能,传输方式用TCP
    2. 客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式用3DES或AES算法加密通过网络把密文发送给服务器
    3. 客户端和服务器用DH算法进行3DES或AES算法的密钥交换
    4. 服务器接收到后缀表达式表达式后,进行解密,然后调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
    5. 客户端显示服务器发送过来的结果

    实验步骤

    1. 在上次的基础上用DH算法对AES的密钥进行加密
    2. 服务器解密从而获取密钥,再对密文解密,计算结果

    遇到的问题及解决办法

    • 问题:DH算法的使用
    • 解决办法:参考老师博客Java 密码学算法倒数第二部分

    实验小结

    本次实验主要是加上DH算法对密钥进行加密以保证安全。其实老师的博客之前就看过了,不过之前看的主要是DES和RSA加密算法,忽略了DH算法,这次重新看一遍,把代码拷下来运行一下,问题就解决了。

    返回目录

    六、网络编程与安全-5

    实验目的

    完整性校验结对编程:1人负责客户端,一人负责服务器
    0. 注意责任归宿,要会通过测试证明自己没有问题

    1. 基于Java Socket实现客户端/服务器功能,传输方式用TCP
    2. 客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式用3DES或AES算法加密通过网络把密文和明文的MD5値发送给服务器
    3. 客户端和服务器用DH算法进行3DES或AES算法的密钥交换
    4. 服务器接收到后缀表达式表达式后,进行解密,解密后计算明文的MD5值,和客户端传来的MD5进行比较,一致则调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
    5. 客户端显示服务器发送过来的结果

    实验步骤

    1. 在上次实验的基础上,发送明文的MD5值给服务器,校验完整性
    2. 服务器把解密后的信息的MD5值与客户端传来的MD5进行比较,一致则调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端

    遇到的问题及解决办法

    没什么太大的问题,老师的博客里有求MD5值的代码,只需把其中的方法抽象出来,在客户端和服务器调用即可。

    实验小结

    加了个MD5值用来进行完整性校验,做的比较顺利。

    返回目录

    七、实验总结

    这五个五实验不需要自己写很多新的代码,只是把之前学的组合在一起,让其发挥功效。五个实验层层递进,每次都加一个功能,其实越做到后面越简单,只要客户端和服务器没有问题,那么只需在其中调用相应的方法就好了。所以此次实验主要是考察我们对代码的组合,复用。练习的是把各种功能的代码组成一个系统,从而实现强大的功能

    返回目录

  • 相关阅读:
    BZOJ 2789: [Poi2012]Letters 树状数组 + 逆序对
    luogu 5468 [NOI2019]回家路线 最短路/暴力
    BZOJ 2427: [HAOI2010]软件安装 tarjan + 树形背包
    练手爬虫用urllib模块获取
    django安装以及配置
    web框架
    模拟百度进行图片搜索,有问题可以留言
    深入requests库params|data|json参数
    深入理解http1.x、http 2和https
    nodejs 实现 磁力链接资源搜索 BT磁力链接爬虫
  • 原文地址:https://www.cnblogs.com/-zzr-/p/6973299.html
Copyright © 2020-2023  润新知