关于此工具
RSA 是一种非对称算法:它生成一对数学上相关联的密钥——一个可以自由分发的公钥,以及一个绝不能泄露的私钥。用其中一个密钥加密的内容,只能用另一个密钥解密;私钥签名的内容,公钥可以验证。这种非对称性正是 TLS 证书、SSH 身份验证、PGP 邮件以及网络上众多签名方案的基础。
此生成器完全在您的浏览器中使用 WebCrypto API 创建密钥对——这是每个现代浏览器内置的、经过实战检验的加密引擎,而非 JavaScript 重新实现的 RSA。选择密钥长度(2048 位是当前基准,3072 或 4096 位适用于更长期或更高安全性的场景)以及用途:签名(RSASSA-PKCS1-v1_5 配合 SHA-256,用于验证真实性)或加密(RSA-OAEP 配合 SHA-256,用于保密性)。密钥绝不会离开您的设备——不会上传任何内容,关闭标签页后密钥即永久丢失,请务必在离开页面前复制或下载。
两个密钥均以标准 PEM 格式导出:公钥为 SPKI 格式,私钥为 PKCS8 格式——与 OpenSSL 生成的编码相同,可直接用于 `.pem` 文件、配置文件或任何需要标准 RSA 密钥材料的库。
常见问题
我应该选择哪种密钥大小?
2048 位是目前广泛接受的最低标准,对于大多数用途来说,至少在未来十年内都够用;如果需要更长期或更高安全性,可选择 3072 或 4096 位,但代价是密钥生成和运算速度会稍慢。
签名密钥和加密密钥有什么区别?
签名密钥(RSASSA-PKCS1-v1_5)用于证明真实性和完整性——你用私钥对数据签名,他人用你的公钥验证。加密密钥(RSA-OAEP)则相反——他人用你的公钥加密数据,只有你的私钥能解密。两者使用不同的 WebCrypto 算法,不应混用。