zoukankan      html  css  js  c++  java
  • 20155212 实验五 《网络编程与安全》 实验报告

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

    任务一

    • 两人一组结对编程:
      结对实现中缀表达式转后缀表达式的功能 MyBC.java,结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用MyDC.java

    问题与解决

    • 转出来的后缀表达式正确,但是却报错:Input exception reported
      • 后来发现,MyDC每个字符间有空格,而我的后缀表达式之间没有空格。在输入的前缀表达式中加入空格结果也不对,因为无法做到正好两个字符间空格隔开。最后我在产生的后缀表达式字符串中的每个字符间加入空格。
    StringBuilder newInfix = new StringBuilder(infix.replace(" ",""));
    for (int i = 1; i < infix.length()+(i+1)/2 ; i=i+2) {
        newInfix.insert(i," ");
    }
    System.out.println("Postfix is " + newInfix);
    result = evaluator.evaluate(newInfix.toString());
    

    任务二

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

    问题与解决

    • 启动客户端代码出现报错:java.net.ConnectException: Connection refused: connect
      • 应该先运行服务器代码,否则运行客户端代码无法连接到服务器,出现报错。
    • IDEA无法正常打开,一运行程序直接闪退。
      • 未找到原因,重装也没有解决。

    任务三

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

    任务四

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

    任务五

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

    任务六

    Android 开发:客户端功能用Android实现

    总结反思

    之前linux下的IDEA使用稳定,更换到windows下后,不知道是感染病毒还是别的原因,windows下IDEA频繁崩溃。使用稳定的开发环境还是很有必要的。

  • 相关阅读:
    metasploit模块功能介绍
    虚拟机端口映射
    linux 双网卡实现
    斯坦福第三课:线性代数回顾(Linear Algebra Review)
    斯坦福第二课:单变量线性回归(Linear Regression with One Variable)
    斯坦福第一课:引言(Introduction)
    机器学习的个人见解----深夜总结
    史上最强机器学习资料------来自个人心血总结-----5星级
    如何学习新的知识----心血总结
    21个必知数据科学面试题和答案
  • 原文地址:https://www.cnblogs.com/dky20155212/p/6939603.html
Copyright © 2011-2022 走看看