• 20155229——实验五《 Java网络编程及安全》


    20155229——实验五 Java网络编程及安全

    实验内容

    实验一:

    两人一组结对编程:
    0. 参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA

    1. 结对实现中缀表达式转后缀表达式的功能 MyBC.java
    2. 结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用MyDC.java
    • 遇到的问题:
    • 打开MyDC后public class MyDC这一行一直标红,不管在哪个文件下建立class都一样,检查代码也没有错,后来发现是因为其他的文件下存在同样名字的class

    • 解决的办法是将其他的class删除,这样要运行的MyDC就不会标红和运行出错了。
    结果截图

    实验二:

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

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

    TCP

    • Socket类是Java执行客户端TCP操作的基础类,这个类本身使用代码通过主机操作系统的本地TCP栈进行通信。Socket类的方法会建立和销毁连接,设置各种Socket选项。

    • ServerSocket类是Java执行服务器端操作的基础类,该类运行于服务器,监听入站TCP连接,每个socket服务器监听服务器的某个端口,当远程主机的客户端尝试连接此端口时,服务器就被唤醒,并返回一个表示两台主机之间socket的正常Socket对象。

    TCP 构造函数

    Socket s=new Socket("127.0.0.1", 10001);//创建一个流套接字并将其连接到指定主机上的指定端口号

    ServerSocket ss=new ServerSocket(10001);//创建绑定到特定端口的服务器套接字

    服务端和客户端的联系

    结果截图

    实验三:

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

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

    实验四:

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

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

    实验五:

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

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

    我的PSP时间

    步骤 耗时 百分比
    需求分析 40分钟 14.81%
    设计 40分钟 14.81%
    代码实现 120分钟 44.44%
    测试 40分钟 14.81%
    分析总结 30分钟 11.11%

    参考资料

  • 相关阅读:
    [LeetCode] 1267. Count Servers that Communicate 统计参与通信的服务器
    [LeetCode] 1292. Maximum Side Length of a Square with Sum Less than or Equal to Threshold 元素和小于等于阈值的正方形的最大边长
    上周热点回顾(4.114.17)
    上周热点回顾(4.44.10)
    [转]mysql 中间件MyCAT
    mysql 中间件MyCAT
    [转]mysql分布式分片篇
    [转]到底什么是“信创”
    [转]MySQL Cluste(入门篇)—分布式数据库集群搭建
    springboot~jackson和redis日期序列化
  • 原文地址:https://www.cnblogs.com/fyhtvxq/p/6936657.html
Copyright © 2020-2023  润新知