首页/加密解密/RSA 密钥对生成

RSA 密钥生成器

在线安全地生成自定义长度的 RSA 公钥和私钥对。

配置

推荐2048位或更高

安全声明:所有计算均在您的浏览器中本地执行。关键数据永远不会上传到任何服务器。请妥善保存您的私钥。

功能简介

RSA 密钥对生成

安全、可控的一键式 RSA 密钥对生成工具。由于使用浏览器原生 Web Crypto API,它能生成具有完美随机性和工业级安全强度的 PKCS#1 或 PKCS#8 格式公私钥。

如何使用

1. 选择所需的位数(如 2048bit 或 4096bit);2. 点击生成密钥;3. 立即从下载按钮保存生成的 PEM 文件到本地。

安全保障

最高安全级别防护:我们绝对无法触碰这些生成的私钥。因为密钥生成是基于您本地设备的熵资源(Entropy),且整个过程没有任何后端通信。生成完毕请务必自行妥善保存。

100% Client Side
📘 使用指南与技术说明

痛点引入

还在为生成RSA密钥对而烦恼吗?每次都要打开命令行,输入一堆复杂的openssl命令,稍不留神就踩坑,参数写错还得重来。更别提那些晦涩的PEM格式、PKCS#8标准,让人头大。手动操作不仅效率低下,还容易出错,简直是开发者的摸鱼杀手!

核心功能深度解析

我们的RSA密钥对生成器可不是简单的界面包装,它基于成熟的加密库实现,严格遵循RFC 8017(PKCS #1)规范。工具采用安全的随机数生成器创建大素数,通过扩展欧几里得算法计算模逆元,确保公钥(e)和私钥(d)的数学关系牢不可破。支持自定义密钥长度(如2048、4096位),背后是Miller-Rabin素性测试的递归验证,保证生成的质数质量。输出格式兼容PEM和PKCS#8,一键搞定Base64编码和头部标识,省去手动转换的麻烦。

行业应用场景

  • 联调环境:前端和后端联调API签名验证时,快速生成测试用的密钥对,避免使用生产密钥的风险。
  • 测试环境:在CI/CD流水线中集成,自动为每个测试实例生成独立密钥,确保隔离性。
  • 生产环境:为新服务初始化SSL/TLS证书、SSH登录或JWT令牌签名,直接生成高安全性的密钥,无缝部署到服务器。

FAQ 常见问题

  1. 为什么推荐2048位密钥长度? 2048位RSA目前是行业标准,平衡了安全性和性能。更短的1024位已被认为不安全,而4096位虽更安全但计算开销大,适合高敏感场景。

  2. 生成的私钥需要密码保护吗? 工具支持添加密码短语(passphrase),建议在生产环境中启用,以增强私钥存储的安全性,防止泄露后被直接使用。

  3. PEM和PKCS#8格式有什么区别? PEM是Base64编码的文本格式,带“-----BEGIN”头尾标识;PKCS#8是更现代的标准化格式,更好地支持算法参数和加密私钥。工具默认输出兼容两者的版本。

  4. 密钥对可以重复使用吗? 不建议。为不同服务或环境生成独立密钥对,遵循最小权限原则,降低一个密钥泄露影响全系统的风险。

  5. 在线生成是否安全? 工具在浏览器本地运行,密钥生成和计算全部在用户设备上完成,数据不上传服务器,确保绝对安全。

技术科普/延伸阅读

RSA算法基于大数分解难题,但量子计算的兴起可能威胁其安全性,催生了后量子密码学(如NTRU、Lattice-based)。感兴趣可深入了解PKCS#1规范或探索ECC(椭圆曲线加密)作为替代方案,它用更短的密钥提供同等安全,是未来的趋势之一。

🔗 相关工具推荐

📖 同类工具推荐阅读

前端 Base64 编解码:别让你的密钥在公网上裸奔

很多开发者把 Base64 当成'加密',这可能是安全史上最大的误解。本文拆解 Base64 编码的底层位运算逻辑,探讨为什么这种看似神秘的代码其实是一块透明玻璃,以及为什么在浏览器本地处理这些敏感编码是保护工程安全的最后一道防线。

2600 万个账号在 10 分钟内被破解:MD5 弱密码存储的法庭证据

这不是假设场景。Adobe 数据泄露、LinkedIn 数据库外泄……每一次事后调查报告都指向同一个罪证:MD5 存储密码。本文从真实事故出发,解释为什么永远不应该把 MD5 用于密码存储,以及哪些场景下它至今仍然有用。

那些藏在 URL 里的双重编码漏洞:一次 SQL 注入的完整路径

明明部署了昂贵的 WAF 防火墙,为什么数据库还是被拖库了?黑客并没有使用什么零日漏洞,而是巧妙地利用了 URL 的“双重编码”特性。本文将带你重构一次真实的攻击路径,揭示架构分层中的安全盲区,以及开发者最容易犯的致命错误。

那个把对象直接 toString 传进 URL 的同事,把我们的接口搞崩了

一个前端新人的失误:'?filter=[object Object]',让后端的 JSON.parse 直接崩溃,引发了一场 P3 级事故。本文深入探讨 JSON 与 GET 参数互转的种种陷阱:嵌套对象怎么传?数组怎么解析?URL 长度限制在哪里?以及如何避开这些暗坑。

💡 想要更多功能?

发现 Bug 或是希望加入新工具?支持免费提建议或商业私有化定制开发