RSA 加解密 / 密钥生成
生成 RSA 密钥对并进行公钥加密、私钥解密。
什么是RSA 加解密 / 密钥生成?
RSA 是一种非对称加密算法,使用一对数学上关联但不同的密钥:公钥(Public Key)用于加密或验证签名,可以公开分发;私钥(Private Key)用于解密或生成签名,必须由持有者严格保密。本工具可以在浏览器本地生成 RSA 密钥对(常见长度 1024/2048/4096 位),并用公钥对文本加密、用对应私钥解密,验证密钥对是否匹配、体验非对称加密的基本流程。 与对称加密(如 AES)不同,RSA 加解密双方不需要提前共享同一把密钥,公钥可以放心公开,这也是它常被用于密钥交换、数字签名、HTTPS 证书体系的原因。
为什么使用RSA 加解密 / 密钥生成?
适合用于:学习和演示非对称加密原理、临时生成一对密钥测试加解密流程、验证某段密文是否能被特定私钥正确解开、给小段敏感文本(如短密码、密钥片段)做一次性加密再通过公开信道传输。 需要注意 RSA 直接加密能处理的数据长度有限(受密钥长度和填充方式限制,如 2048 位密钥配合 OAEP 填充大约只能加密 200 多字节),因此实际系统中通常不用 RSA 直接加密大段数据,而是用 RSA 加密一个随机生成的 AES 密钥,再用 AES 加密正文,这也是 HTTPS 等协议的常见做法(RSA 负责密钥交换,AES 负责实际数据加密)。
使用示例
生成一对测试密钥
点击生成 2048 位密钥对,得到 PEM 格式的公钥(以 -----BEGIN PUBLIC KEY----- 开头)和私钥(以 -----BEGIN PRIVATE KEY----- 开头),可分别复制保存,用于下面的加解密测试。
用公钥加密一段短信息
输入明文 "hello2026",粘贴上一步生成的公钥并加密,得到一段 Base64 格式的密文(每次加密因随机填充结果都不同,属正常现象);把该密文和对应私钥一起粘贴解密,应还原出原始的 "hello2026"。
验证密钥不匹配的报错
如果故意用另一对密钥中的私钥去解密,工具会解密失败并报错(如“解密失败”或“padding 错误”),这正说明私钥必须与加密所用的公钥严格配对,无法互相混用。
使用提示
私钥一旦泄露,用该公钥加密过的所有历史密文都可能被破解,测试完成后如非必要不要长期保存或分享生成的私钥内容。
常见问题
RSA 加密的明文长度有限制吗?
密钥对生成后能保存吗?
数据会上传服务器吗?
密钥和明文会上传到服务器吗?
密钥长度该选多少?
能直接用 RSA 加密一个很长的文件吗?
生成的密钥可以直接用在生产环境吗?
加密同样的内容,每次密文都不一样,是不是有问题?
相关工具
相关教程
← 返回工具箱· 数据均在浏览器本地处理,不上传服务器。