Java RSA 加密
RSA 是常见的非对称加密算法,使用公钥和私钥完成加密、解密或签名验签。
一、适合场景
- 数字签名;
- 密钥交换;
- 小数据加密;
- 登录或支付签名。
大数据内容不建议直接用 RSA 加密,通常使用 RSA 交换对称密钥,再用 AES 加密正文。
二、基本流程
三、示例结构
// 1. 生成 KeyPair
// 2. 获取 PublicKey 和 PrivateKey
// 3. 使用 Cipher.getInstance("RSA")
// 4. 加密、解密
// 5. 使用 Signature 完成签名和验签
四、安全建议
- 私钥不能写进代码仓库。
- 生产环境密钥要有轮换机制。
- 签名算法优先使用带哈希的安全组合。
- 不要自己设计加密协议。