# 基于java的ruoyi框架web文件传输RSA和AES **Repository Path**: shengcong1/file-encode-transfer-RSA-AES ## Basic Information - **Project Name**: 基于java的ruoyi框架web文件传输RSA和AES - **Description**: 自定义了ruoyi - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-01-20 - **Last Updated**: 2024-08-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 文传加密传输系统-AES-RSA ## 一、前言 随着网络时代的发展,网络安全问题层出不穷,文件的传输问题成了一个比较棘手的问题,文件爱传输的过程中 容易被不法份子通过非法技术手段截取、篡改,造成严重的挂马、泄密等危险事件,为了解决这个问题,文件加密成了 当下主流的传输手段。 ## 二、关键需求 服务器的作用是注册存储用户的账号密码,修改密码 和存储每一个注册用户的公钥 包括加密后的文件 密钥 每一个用户注册之后就会自己生成一对rsa公私钥 只把公钥传给服务器 当用户a向b传输数据时,服务器端就会把b的公钥给a 当然也可以选择向多个用户传输 这时就需要传给a多个用户的公钥 用户a随机生成aeskey 进行加密文件,然后用得到的公钥加密aeskey (传输个多少个用户就多少分aeskey) 将加密后的文件和密钥存储在服务器 之后把相应加密的密钥和密文传给上线且需要进行下载的用户进行解密 数字签名,是利用用户a的私钥加密明文md5的hash值传送给服务器 然后服务器把a的公钥 数字签名 和加密后的密钥密文发送给b 让他进行验证 两个hash值是否相同 ## 三、技术选型 本系统采用B/S架构,服务端运行在云端、前端浏览器作为客户端实现文件的传输与管理。 1.后端技术:java 2.前端技术:vue 3.框架技术:springboot 4.数据库技术:mysql 5.缓存技术:redis ## 四、架构图 ![img.png](img.png)