> 文章列表 > javaSwingrsa和aes混合加密文件传输系统

javaSwingrsa和aes混合加密文件传输系统

javaSwingrsa和aes混合加密文件传输系统

RSA和AES加密混合文件传输系统

环境要求:

1、java1.8

2、socket

3、mysql

4、io流

5、swing

登录界面

在这里插入图片描述

客户端登录:

1.用户注册的账号保存到数据库中,用户的密码经过md5后保存到数据库中。

2.用户输入正确的账号和密码可以进入

功能介绍

客户端

在这里插入图片描述

客户端加密传输文件到服务器,服务器接受文件并解密:服务器首先要生成一对RSA公私钥,并将RSA公钥发给客户端

从客户端的角度:

  1. 用户自身随机产生一个AES密钥,用AES密钥加密要传输的文件,得到密文1

2.用户收到服务器发送的RSA公钥,用RSA公钥加密AES密钥,得到密文2

3.用户将密文1和密文2一起发给服务器

从服务器的角度:

  1. 服务器接受到密文1和密文2

2.首先服务器用自己的私钥解密 密文2,得到AES密钥

3.服务器用获取到的AES密钥解密 密文1 得到原文件。

服务端

在这里插入图片描述

数字签名流程:客户端首先产生一对RSA公私钥

客户端的角度:

1.客户端首先将要传输的文件进行md5摘要,得到hash值

2.然后用自己产生的私钥加密hash值,得到数字签名,将数字签名和RSA公钥发送给服务器。

服务器的角度:

1.服务器接受到数字签名,用收到的客户端RSA公钥解密数字签名,得到hash1.

2.服务器将解密后的明文进行md5摘要得到hash2.

3.对比hash1和hash2,相同的话,完整性验证成功。

发送编号获取项目

202304180738