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/IPTCP/IP是计算机互联最常适用的网络通讯协议,TCP/IP的核心部分由网络操作系统的内核实现,应用程序通过编程接口来访问TCP/IP,应用程序通讯的方式如图所示:

实验中遇到的问题:

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

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

原文地址:https://www.cnblogs.com/20159202wh/p/4910149.html