文章目录
- 一、问题场景
- 二、相关技术介绍
-
- 1. RSA 加密算法
- 2. JSEncrypt
- 三、实现步骤
-
- 1. 前端加密处理
- 2. 后端解密处理
- 3. 登录逻辑处理
- 四、测试流程
-
- 1. 前端测试
- 2. 后端测试
- 3. 运行效果
- 五、总结
一、问题场景
在 RuoYi 系统
中,默认情况下,用户在登录时会将明文密码直接传输到服务器,这可能存在一定的安全风险,容易被中间人攻击(如流量监听、抓包等)。为了提升登录安全性,可以使用 RSA
非对称加密算法,在前端对密码进行加密,后端再进行解密并校验。
二、相关技术介绍
1. RSA 加密算法
RSA(Rivest-Shamir-Adleman)
是一种常见的 非对称加密 算法,特点如下:
- 非对称性:加密和解密使用不同的密钥,公钥(
public key
)加密,私钥(private key
)解密。 - 安全性高:密钥长度通常为 1024、2048 或 4096 位,破解难度极高。
- 公钥可公开,私钥必须保密:即使公钥泄露,也无法直接解密数据。
2. JSEncrypt
JSEncrypt
是一个基于