AES+RSA 实现混合加密
AES+RSA 实现混合加密
一、混合加密的优势
AES + RSA 的组合是最常见的 混合加密(Hybrid Encryption),在实际项目里尤其常见于 前后端传输敏感数据(如登录、注册、支付)场景。
1、AES(对称加密)快
- AES 用一个密钥加密解密,速度极快(尤其对大数据)。
- 缺点:密钥要安全传输给对方,否则就不安全。
2、RSA(非对称加密)安全
- RSA 用公钥加密、私钥解密。
- 适合在传输时保证密钥不泄露。
- 缺点:性能很差,只适合加密少量数据。
3、两者结合(优势)
- 用 RSA 加密 AES 的密钥(只传一次小数据,性能没问题)。
- 用 AES 加密大数据正文(保证高效)。
- 好处:既安全(RSA 保证密钥安全),又高效(AES 保证大数据快速)。
二、一般流程
AES + RSA 混合加密流程
1. 初始化阶段
- 后端(Spring Boot) 生成一对 RSA 公钥 / 私钥。
- 将 公钥 提供给前端(Vue),私钥 仅自己保存。
2. 加密传输阶段(前端 → 后端)
- 前端请求后端的 RSA 公钥。
- 前端生成一个随机的 AES 密钥。
- 前端用 RSA 公钥加密 AES 密钥。
- 前端用 AES 密钥加密业务数据(如登录信息)。
- 前端将 {RSA加密的AES密钥, AES加密的业务数据} 一起发送给后端。
3. 解密阶段(后端处理)
- 后端用 RSA 私钥解密 AES 密钥。
- 后端用 AES 密钥解密业务数据。
- 得到原始数据,继续业务逻辑处理(如校验账号密码)。
4. 可选(返回数据加密)
- 后端要返回敏感数据时,可以同样用 AES 加密后再发给前端。
- 前端用 AES