工具指南RSA公钥私钥PEM网站安全工具
RSA 密钥怎么生成?公钥、私钥、PEM 格式和加密签名区别指南
RSA 常用于公钥加密、签名验证和密钥交换。这里讲公钥私钥、PEM 格式、密钥长度、加密与签名的区别。
打开配套工具 →RSA 是常见的非对称加密算法。它有一对密钥:公钥可以公开,私钥必须保密。很多登录、支付、接口签名、证书系统都会用到类似思想。
你可以用 RSA 密钥生成器 在本地生成测试密钥对。
公钥和私钥分别做什么
常见用途:
- 公钥加密,私钥解密。
- 私钥签名,公钥验证。
不要把“加密”和“签名”混为一谈。加密解决保密问题,签名解决身份和完整性问题。
PEM 格式是什么
你经常会看到:
text已剪下 ✓
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----这就是 PEM 文本格式。换行、头尾标记都很重要,复制到环境变量或配置文件时不要丢失。
如果要放进 .env,要注意换行转义,避免部署后解析失败。
密钥长度怎么选
测试环境可以快速生成,生产环境应该使用足够长度的密钥,并按当前安全要求和平台建议配置。
常见做法是至少 2048 bit,安全要求更高时使用更长密钥。但密钥越长,计算成本也更高。
私钥必须保密
私钥泄露后,别人可能伪造签名或解密数据。
建议:
- 不要提交到 Git。
- 不要发到聊天工具。
- 不要放进前端代码。
- 生产密钥和测试密钥分开。
- 定期轮换有风险的密钥。
测试密钥和生产密钥分开
开发时用工具生成测试密钥很方便,但不要把测试密钥沿用到生产环境。生产密钥应该在安全环境中生成、分发和保存,并限制访问权限。
如果密钥被写进前端代码、公开仓库、截图或聊天记录,就应该视为已经泄露,尽快轮换。
常见复制问题
RSA 密钥经常因为复制格式出错而无法使用。排查时要看头尾标记是否完整、换行是否保留、环境变量里是否需要把换行写成 \n。如果服务端提示 key invalid,不要只检查内容,也要检查加载配置时有没有被转义或截断。
总结
RSA 的核心是公钥和私钥分工。公钥可以分发,私钥必须保护;签名和加密是不同用途。
需要生成测试密钥时,可以用 RSA 密钥生成器,生成后检查 PEM 格式是否完整,再用于开发环境。