密钥对生成
生成 RSA、ECDSA(P-256/P-384/P-521)、Ed25519 或 SM2 密钥对,输出 PKCS #8 或传统格式的 PEM,可用于 JWT、TLS 或加密测试。
正在加载…
密钥在本浏览器中生成,不会离开浏览器。
工具介绍
在线生成 RSA、ECDSA、Ed25519 或 SM2 密钥对,以 PEM 文本输出。开发时需要密钥来签发和校验 JWT、测试 RSA 或 SM2 加密,或者要把公钥交给合作方、私钥留在自己手里时,都可以用它。
RSA 密钥可选 2048、3072、4096 位,ECDSA 可选 P-256、P-384、P-521 曲线,私钥可输出为 PKCS #8 或传统 RSA/EC 格式;页面还会给出 JWK 格式的公钥,SM2 则给出十六进制的公私钥。密钥在浏览器中生成,不上传,也不保存。
使用步骤
- 选择“算法”:RSA 2048(默认)、RSA 3072、RSA 4096,ECDSA P-256、P-384、P-521,Ed25519 或 SM2。
- 选择“私钥格式”:“PKCS #8 (BEGIN PRIVATE KEY)”或“传统格式(BEGIN RSA/EC PRIVATE KEY)”。
- 点击“生成密钥对”。
- 在私钥、公钥以及 JWK 或 SM2 十六进制密钥下方点击“复制”或“下载”,私钥请自行妥善保管。
常见问题
签发 JWT 应该选哪种密钥?
按选项中标注的算法选择:ECDSA P-256 对应 ES256,P-384 对应 ES384,P-521 对应 ES512,Ed25519 对应 EdDSA,RSA 密钥用于 RS256、PS256 等算法。私钥可以粘贴到“JWT 签发”中签发令牌,公钥或 JWK 可以粘贴到“JWT 校验”中验证。
PKCS #8 和传统格式有什么区别?
PKCS #8(BEGIN PRIVATE KEY)在密钥中注明算法,适用于这里的所有类型。传统格式中,RSA 为 PKCS #1(BEGIN RSA PRIVATE KEY),ECDSA 和 SM2 为 SEC 1(BEGIN EC PRIVATE KEY),供一些较旧的软件使用;Ed25519 没有传统格式。生成后切换格式,显示的是同一把密钥的另一种写法。
SM2 密钥该用哪种格式?
PEM 格式按 SM2 曲线上的 EC 密钥写出;“SM2 十六进制密钥”给出 64 个十六进制字符的私钥,以及以 04 开头、130 个十六进制字符的公钥,这是很多 SM2 库使用的形式。两种格式都可以用于“RSA / SM2 加解密与签名”工具。
为什么提示“此浏览器无法生成这种密钥。”?
RSA、ECDSA 和 Ed25519 密钥由浏览器内置的 Web Crypto 生成,出现这个提示说明当前浏览器不支持所选的类型。可以换用较新的浏览器,或者选择其他算法。
密钥会被保存或上传吗?
不会。密钥只存在于当前页面,不上传也不保存,离开页面或重新生成后就会消失,请先复制或下载需要的内容。
相关工具
RSA / SM2 加解密与签名
用 RSA 密钥(PEM:PKCS#1、PKCS#8、公钥或证书)或 SM2 密钥(十六进制或 PEM)加密、解密、签名或验签;密钥只在浏览器中使用,不随工作流保存。
自签名证书生成
按每行一个主机名或 IP 地址生成用于开发测试的自签名 TLS 证书与私钥;密钥在浏览器中生成。
证书解析
解析 PEM 证书与证书请求:主体、颁发者、有效期、备用名称、公钥、密钥用途、其他扩展与指纹。
PFX 转 PEM
把 PFX 或 P12 文件中的私钥、证书和公钥导出为 PEM,支持 OpenSSL 3(AES)及较旧的 RC2、3DES 加密文件。
凯撒密码与摩斯电码
凯撒密码(自定义位移)、ROT13、ROT47、Atbash 的加密与解密,以及国际摩斯电码的编码与解码。
对称加密与解密(AES / SM4 / DES)
使用 AES(CBC、ECB、CTR、CFB、OFB、GCM)、SM4、DES、3DES、Blowfish、RC2、RC5、RC6、RC4、Rabbit 或 XOR 加密、解密文本;密钥作为单独输入,不随工作流保存。