RSA 密钥对生成器
生成标准 PEM 格式的 RSA 密钥对(公钥和私钥),用于加密或签名测试。生成过程使用浏览器原生的 WebCrypto API:私钥在本地创建,绝不会传输到任何服务器,包括托管此页面的服务器。
工作原理
RSA 是一种非对称加密算法,基于一对在数学上相关联的密钥:公钥加密的内容(或私钥签名的内容),只能用该密钥对中的另一把密钥解密(或验证)。这个工具直接调用 crypto.subtle.generateKey,即浏览器原生且经过审计的 RSA 实现,然后将两把密钥导出为 PEM 格式(被 -----BEGIN...----- 头部包裹的 Base64),大多数库和工具(OpenSSL、Node.js、Python)都可以直接使用。
应该选择多大的密钥长度?
目前普遍推荐的最低长度是 2048 位,对大多数用途而言,在未来数年内仍然绰绰有余。对于需要长期保护的数据,3072 位或 4096 位能提供额外的安全余量,代价是运算速度更慢。
我应该选择「签名」还是「加密」?
实际上,同一对 RSA 密钥通常只应专用于一种技术用途:「签名」(RSASSA-PKCS1-v1_5)用于证明文档的真实性,而不需要对其保密;「加密」(RSA-OAEP)用于使内容对没有私钥的任何人都不可读。请选择与您的实际需求相符的选项。
隐私:生成过程通过浏览器的 WebCrypto API 100% 在本地完成——私钥在任何时候都不会被发送或存储到服务器上。