java实验五_java实验五

实验报告

课程:移动平台应用开发实践   班级:201592     姓名:王鹤  学号:20159202

成绩:             指导教师:娄嘉鹏           实验日期:2015.10.22

实验密级:          预习程度:                 实验时间:

仪器组次:          必修/选修:选修          实验序号:5

实验名称:Java网络编程及安全

实验目的与要求:结对编程,实现客户端和服务器之间数据的发送与接收。

实验仪器:

名称

型号

数量

PC

计算机

1

Eclipse

1

一、实验内容

1.用TCP代码,实现服务器与客户端。

2.客户端与服务器连接

3.客户端中输入明文,利用AES算法加密,AES的秘钥用RSA公钥密码中服务器的公钥加密.

4.客户端用RSA公钥密码中服务器的私钥解密AES的秘钥,用秘钥对密文进行解密,得出明文。

二.实验过程

客户端代码

1.实现客户端与服务器端通信

881f0556c5705009213ec952ff5f822b.png

2.生成AES密钥,并对明文进行加密

04e8cfd5113675933b1974c16a119cf1.png

3.使用RSA算法对AES密钥进行加密

4030fb0e5cbfb5fbc0364d19239a2959.png

服务器端代码

1.侦听客户端,等待连接

5f067911161bd3bad9e1a74df86cf00d.png

2.使用服务器端RSA私钥解密key

7c80e36ad839c9b8373093f387391915.png

3. 用AES的密钥解密数据

b32174de789a58fe42a049354bd51258.png

运行结果:

客户端输入数据并加密:

b6a003eea1d8fd1293278af29c333990.png

服务器端接收数据并解密:

d4c66af10ba9d99b54da0f08be268683.png

三、实验体会及问题

此次实验主要是实现安全通信,Socket接口规范可以适用多种通讯协议,主要是TCP/IP。TCP/IP是计算机互联最常适用的网络通讯协议,TCP/IP的核心部分由网络操作系统的内核实现,应用程序通过编程接口来访问TCP/IP,应用程序通讯的方式如图所示:

44e2e4e4edc876fbb9d0f5be99b14492.png

实验中遇到的问题:

41f8c2f36b1bc71baa30047fd3784e91.png

经过代码分析和研究,发现是编码转换问题,通过编写StrtoByte(String hexStr)和BytetoStr(byte buf[])来实现String和Byte类型转换。

93bebd51922b03d89ca3e17356330317.png

在程序中还有很多需要完善的地方,比如在加密数据上用户可读性不强,密文加密输出的格式是机器码,在接下来会继续改进。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值