20155233 《Java程序设计》实验五 Java网络编程及安全
2024-08-24 11:16:48
实验内容
1.掌握Socket程序的编写;
2.掌握密码技术的使用;
3.设计安全传输系统。
实验1
两人一组结对编程:
0. 参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA
1. 结对实现中缀表达式转后缀表达式的功能 MyBC.java
2. 结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用MyDC.java
3. 上传测试代码运行结果截图和码云链接
效果截图
码云链接
实验2
结对编程:1人负责客户端,一人负责服务器
0. 注意责任归宿,要会通过测试证明自己没有问题
1. 基于Java Socket实现客户端/服务器功能,传输方式用TCP
2. 客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式通过网络发送给服务器
3. 服务器接收到后缀表达式,调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
4. 客户端显示服务器发送过来的结果
5. 上传测试结果截图和码云链接
效果截图
码云链接
实验3
加密结对编程:1人负责客户端,一人负责服务器
0. 注意责任归宿,要会通过测试证明自己没有问题
1. 基于Java Socket实现客户端/服务器功能,传输方式用TCP
2. 客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式用3DES或AES算法加密后通过网络把密文发送给服务器
3. 服务器接收到后缀表达式表达式后,进行解密(和客户端协商密钥,可以用数组保存),然后调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
4. 客户端显示服务器发送过来的结果
5. 上传测试结果截图和码云链接
效果截图
码云链接
实验4
密钥分发结对编程:1人负责客户端,一人负责服务器
0. 注意责任归宿,要会通过测试证明自己没有问题
1. 基于Java Socket实现客户端/服务器功能,传输方式用TCP
2. 客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式用3DES或AES算法加密通过网络把密文发送给服务器
3. 客户端和服务器用DH算法进行3DES或AES算法的密钥交换
4. 服务器接收到后缀表达式表达式后,进行解密,然后调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
5. 客户端显示服务器发送过来的结果
6. 上传测试结果截图和码云链接
效果截图
码云链接
实验5
完整性校验结对编程:1人负责客户端,一人负责服务器
0. 注意责任归宿,要会通过测试证明自己没有问题
1. 基于Java Socket实现客户端/服务器功能,传输方式用TCP
2. 客户端让用户输入中缀表达式,然后把中缀表达式调用MyBC.java的功能转化为后缀表达式,把后缀表达式用3DES或AES算法加密通过网络把密文和明文的MD5値发送给服务器
3. 客户端和服务器用DH算法进行3DES或AES算法的密钥交换
4. 服务器接收到后缀表达式表达式后,进行解密,解密后计算明文的MD5值,和客户端传来的MD5进行比较,一致则调用MyDC.java的功能计算后缀表达式的值,把结果发送给客户端
5. 客户端显示服务器发送过来的结果
效果截图
码云链接
实验感想
本次实验涉及知识内容广,对网络编程以及安全有了一定的了解,我本次主要负责服务器端,虽然本次实验的难点很多,但根据老师实验指导书的步骤一步一步来走,我们不难作出实验,很容易将新的知识消化。
PSP(Personal Software Process)时间:
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 30min | 3.6% |
设计 | 60min | 7.1% |
代码实现 | 540min | 64.3% |
测试 | 120min | 14.3% |
分析总结 | 60min | 10.7% |
最新文章
- Eclipse中全局搜索和更替
- Redis安装及主从配置(转)
- iis 部署 webapi2.0 访问报错解决
- [系统开发] Postfix 邮件管理系统
- 返回顶部js
- iOS 进阶 第十四天(0416)
- grails框架中在使用domain的save方法保存时保存不成功
- 读APUE分析散列表的使用
- xhost和DISPLAY
- 使用Python写一个贪吃蛇
- oracle数据库显示所有用户方法
- Coursera, Big Data 3, Integration and Processing (week 5)
- [LeetCode] Random Flip Matrix 随机翻转矩阵
- Linux VPS基础命令 - cp复制文件命令
- 初学HTML-8
- Linux系统调用的运行过程【转】
- javascript Object.create()究竟发生了什么
- django 返回json数据
- Oracle 11g 分区拆分与合并
- [翻译] KYCircularProgress
热门文章
- Python 处理脚本的命令行参数(三):使用argparse
- [T-ARA][SEXY LOVE]
- 【[SCOI2016]背单词】
- 通过iframe标签绕过csp
- robotframwork接口测试(四)—其他库的安装
- 利用n 升级工具升级Node.js版本及在mac环境下的坑
- Spring(五)之Bean定义继承和依赖注入
- VC++使用socket进行TCP、UDP通信实例总结
- 如何处理Entity Framework / Entity Framework Core中的DbUpdateConcurrencyException异常(转载)
- [leetcode] 二叉树的前序,中序,后续,层次遍历