RSA 密钥对生成指南:公钥加密与私钥签名的完整流程

加密编码(更新于 2026年6月11日)

什么是 RSA 密钥对

RSA 是非对称加密算法,使用一对密钥:

密钥 用途 分发方式
公钥 (Public Key) 加密 / 验签 可公开分发
私钥 (Private Key) 解密 / 签名 仅自己持有

核心原则:公钥加密的数据只有私钥能解,私钥签名的数据公钥能验。


密钥长度选择

长度 安全等级 适用场景
1024 位 ❌ 已不安全 遗留系统
2048 位 ✅ 基本安全 日常使用
3072 位 ✅ 较高安全 中等敏感数据
4096 位 ✅ 高安全 高敏感数据 / 长期密钥

生成 4096 位密钥耗时约为 2048 位的 4-8 倍,加解密也更慢,请按需选择。


生成密钥对:步骤详解

第一步:打开 RSA 密钥对工具

访问 RSA 密钥对工具,选择密钥长度(推荐 2048 或 4096)。

第二步:生成密钥对

点击「生成密钥对」,工具会自动生成:

  • 公钥:以 -----BEGIN PUBLIC KEY----- 开头的 PEM 格式文本
  • 私钥:以 -----BEGIN PRIVATE KEY----- 开头的 PEM 格式文本

第三步:保存密钥

公钥 → 发送给需要加密数据给你的对方
私钥 → 安全保存,切勿泄露(不要提交到 Git!)

PEM 格式说明

PEM 是 Base64 编码的密钥文本,常见格式:

-----BEGIN PUBLIC KEY-----      ← PKCS#8 公钥
MIIBIjANBgkqhkiG9w0BAQEFAAOC...
-----END PUBLIC KEY-----

-----BEGIN RSA PRIVATE KEY-----  ← PKCS#1 私钥
MIIEpAIBAAKCAQEA0d7...
-----END RSA PRIVATE KEY-----

-----BEGIN PRIVATE KEY-----      ← PKCS#8 私钥
MIIEvgIBADANBgkqhkiG9w0BAQEF...
-----END PRIVATE KEY-----

PKCS#8 是通用格式,PKCS#1 是 RSA 专用格式,大多数现代系统优先使用 PKCS#8。


公钥加密 + 私钥解密

使用 RSA 加解密工具

  1. 将明文粘贴到输入框
  2. 选择「公钥加密」
  3. 粘贴对方的公钥
  4. 点击加密,得到密文
  5. 对方收到密文后,用私钥解密即可还原

私钥签名 + 公钥验签

签名用于证明「这条消息确实是我发的」:

  1. RSA 加解密工具 选择「私钥签名」
  2. 输入消息内容和私钥
  3. 生成签名值
  4. 对方用你的公钥验证签名,确认消息未被篡改

RSA vs AES:何时用哪个

场景 推荐 原因
大文件加密 AES RSA 太慢,仅适合小数据
密钥交换 RSA 用公钥加密 AES 密钥
数字签名 RSA 非对称特性天然适合
JWT Token RSA 服务器私钥签,客户端公钥验

实际中常组合使用:RSA 传输 AES 密钥,AES 加密实际数据(混合加密)。


常见问题

问题 原因 解决
解密失败 密钥不匹配 确认公私钥是同一对
数据太长错误 RSA 有长度限制 改用 AES 或分段加密
格式解析错误 PEM 头尾缺失 检查是否完整复制
生成很慢 4096 位密钥 正常,可先用 2048 位

总结

RSA 密钥对是非对称加密的基础。掌握公钥加密、私钥签名的流程,理解密钥长度的安全含义,是安全开发的关键技能。RSA 密钥对工具RSA 加解密工具 让你在浏览器中完成全流程操作。

#RSA#密钥对#非对称加密#公钥#私钥