密钥对生成器

概述

密钥对生成器可在浏览器本地生成 RSA、ED25519、PKCS#8、OpenSSH 四种类型的公私钥对,支持 Base64(PEM 格式)和十六进制两种编码输出,页面加载时自动生成一对密钥,点击密钥文本框即可复制,所有生成过程不联网,刷新页面后密钥不会保留。

四种密钥类型对比

RSA

  • 最广泛兼容的非对称算法
  • 支持 512 / 1024 / 2048 / 4096 位
  • 推荐至少使用 2048 位,建议 4096 位用于高安全场景
  • 512 和 1024 位已不安全,仅用于测试

ED25519

  • 现代椭圆曲线算法,密钥长度固定
  • 安全性等同于 3072 位 RSA,密钥却更短
  • 生成与验证速度更快
  • 新项目首选,不支持选择位数

PKCS#8

  • 通用私钥封装格式(RSA 算法)
  • 兼容大多数加密库和跨语言工具
  • 支持 512 / 1024 / 2048 / 4096 位
  • 适合跨平台、跨语言的密钥交换

OpenSSH

  • SSH 连接专用密钥格式
  • 生成的公钥可直接写入 authorized_keys
  • 支持 512 / 1024 / 2048 / 4096 位(RSA 算法)
  • 适合配置 Linux/Unix 服务器远程登录

编码格式说明

Base64(默认):输出带有 -----BEGIN ... KEY----- / -----END ... KEY----- 头尾的 PEM 格式,可直接写入配置文件、用于 openssl 命令行工具,兼容性最广。

十六进制:输出原始密钥字节的十六进制字符串,不含格式标记,适合编程环境中直接处理字节数据,或调试时检查密钥原始内容。

密钥长度与安全级别

RSA / PKCS#8 / OpenSSH 的密钥长度选项:

  • 512 位:极低安全性,已可被暴力破解,仅用于开发调试
  • 1024 位:不再推荐,NIST 已于 2013 年不建议使用
  • 2048 位:当前通用标准,可满足大多数生产环境需求
  • 4096 位:更高安全性,适合长期有效的密钥或高价值资产

ED25519 密钥长度固定为 256 位,安全性相当于 RSA 3072 位,无需选择。

典型使用场景

SSH 服务器登录:选 OpenSSH,将生成的公钥追加到服务器 ~/.ssh/authorized_keys,私钥保存为本地 ~/.ssh/id_rsa

JWT 签名(RS256):选 RSA 2048 位 Base64,私钥用于服务端签发 JWT,公钥分发给各验证服务或公开发布。

API 请求签名:选 ED25519,速度快且密钥短,私钥对请求内容签名,公钥用于接收方验证。