java实验五
实 验 报 告
课程:移动平台应用开发实践 班级:201592 姓名:王鹤 学号:20159202
成绩: 指导教师:娄嘉鹏 实验日期:2015.10.22
实验密级: 预习程度: 实验时间:
仪器组次: 必修/选修:选修 实验序号:5
实验名称:Java网络编程及安全
实验目的与要求:结对编程,实现客户端和服务器之间数据的发送与接收。
实验仪器:
名称 |
型号 |
数量 |
PC |
计算机 |
1 |
Eclipse |
|
1 |
一、实验内容
1.用TCP代码,实现服务器与客户端。
2.客户端与服务器连接
3.客户端中输入明文,利用AES算法加密,AES的秘钥用RSA公钥密码中服务器的公钥加密.
4.客户端用RSA公钥密码中服务器的私钥解密AES的秘钥,用秘钥对密文进行解密,得出明文。
二.实验过程
- 客户端代码
1.实现客户端与服务器端通信
2.生成AES密钥,并对明文进行加密
3.使用RSA算法对AES密钥进行加密
- 服务器端代码
1.侦听客户端,等待连接
2.使用服务器端RSA私钥解密key
3. 用AES的密钥解密数据
运行结果:
- 客户端输入数据并加密:
- 服务器端接收数据并解密:
三、实验体会及问题
此次实验主要是实现安全通信,Socket接口规范可以适用多种通讯协议,主要是TCP/IP。TCP/IP是计算机互联最常适用的网络通讯协议,TCP/IP的核心部分由网络操作系统的内核实现,应用程序通过编程接口来访问TCP/IP,应用程序通讯的方式如图所示:
实验中遇到的问题:
经过代码分析和研究,发现是编码转换问题,通过编写StrtoByte(String hexStr)和BytetoStr(byte buf[])来实现String和Byte类型转换。
在程序中还有很多需要完善的地方,比如在加密数据上用户可读性不强,密文加密输出的格式是机器码,在接下来会继续改进。