← 返回工具指南
工具指南RSA公钥私钥PEM网站安全工具

RSA 密钥怎么生成?公钥、私钥、PEM 格式和加密签名区别指南

RSA 常用于公钥加密、签名验证和密钥交换。这里讲公钥私钥、PEM 格式、密钥长度、加密与签名的区别。

打开配套工具 →

RSA 是常见的非对称加密算法。它有一对密钥:公钥可以公开,私钥必须保密。很多登录、支付、接口签名、证书系统都会用到类似思想。

你可以用 RSA 密钥生成器 在本地生成测试密钥对。

公钥和私钥分别做什么

常见用途:

不要把“加密”和“签名”混为一谈。加密解决保密问题,签名解决身份和完整性问题。

PEM 格式是什么

你经常会看到:

text已剪下 ✓
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----

这就是 PEM 文本格式。换行、头尾标记都很重要,复制到环境变量或配置文件时不要丢失。

如果要放进 .env,要注意换行转义,避免部署后解析失败。

密钥长度怎么选

测试环境可以快速生成,生产环境应该使用足够长度的密钥,并按当前安全要求和平台建议配置。

常见做法是至少 2048 bit,安全要求更高时使用更长密钥。但密钥越长,计算成本也更高。

私钥必须保密

私钥泄露后,别人可能伪造签名或解密数据。

建议:

测试密钥和生产密钥分开

开发时用工具生成测试密钥很方便,但不要把测试密钥沿用到生产环境。生产密钥应该在安全环境中生成、分发和保存,并限制访问权限。

如果密钥被写进前端代码、公开仓库、截图或聊天记录,就应该视为已经泄露,尽快轮换。

常见复制问题

RSA 密钥经常因为复制格式出错而无法使用。排查时要看头尾标记是否完整、换行是否保留、环境变量里是否需要把换行写成 \n。如果服务端提示 key invalid,不要只检查内容,也要检查加载配置时有没有被转义或截断。

总结

RSA 的核心是公钥和私钥分工。公钥可以分发,私钥必须保护;签名和加密是不同用途。

需要生成测试密钥时,可以用 RSA 密钥生成器,生成后检查 PEM 格式是否完整,再用于开发环境。