密钥对生成器可在浏览器本地生成 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,速度快且密钥短,私钥对请求内容签名,公钥用于接收方验证。