RSA在线加密解密工具 - 免费生成密钥对与加解密

使用jsjson.com的RSA在线工具一键生成RSA密钥对、加密和解密数据,支持PKCS#1与PKCS#8格式,所有运算在浏览器本地完成,安全可靠。

开发者工具 2026-06-15 9 分钟

RSA 是目前应用最广泛的非对称加密算法之一,在 API 签名、数据加密、身份认证等场景中无处不在。如果你需要快速生成 RSA 密钥对、对敏感数据进行加密或解密,jsjson.com 的 RSA 在线加密解密工具 能帮你免去配置环境的麻烦,在浏览器内即可完成全部操作。

📋 RSA 加密算法简介

RSA(Rivest–Shamir–Adleman)是一种非对称加密算法,由三位数学家于 1977 年提出。与对称加密不同,RSA 使用一对密钥——公钥私钥——来分别完成加密和解密操作。

RSA 的核心特性:

  • 非对称性:公钥加密,私钥解密;或私钥签名,公钥验签
  • 安全性:基于大数因式分解的数学难题,2048 位密钥在当前算力下足够安全
  • 不可逆性:从公钥无法推导出私钥

RSA 广泛应用于 HTTPS/TLS 握手、SSH 密钥认证、JWT 签名、邮件加密(PGP)等场景。开发者在调试接口时,经常需要临时生成密钥对或验证加解密逻辑,此时一个在线 RSA 工具就非常实用。

🔧 RSA 的常见应用场景

1. API 接口签名与验签

在对接第三方支付(支付宝、微信支付)或开放平台 API 时,通常需要用 RSA 私钥对请求参数签名,服务端用公钥验签。开发调试阶段,你可以用 RSA 在线工具 快速验证签名结果是否正确。

2. 敏感数据加密传输

登录密码、身份证号等敏感信息在前端传输时,可以使用后端提供的 RSA 公钥加密,确保传输过程中即使被截获也无法解密。RSA 工具方便你在本地测试整个加解密流程。

3. SSH 与 TLS 证书管理

生成 SSH 密钥对、配置 TLS 客户端证书时,需要了解 RSA 密钥的格式和结构。使用在线工具可以帮助你理解 PKCS#1 和 PKCS#8 格式的区别。

🔧 如何使用 jsjson.com 的 RSA 工具

访问 https://jsjson.com/tools/rsa 即可使用,无需注册或安装任何软件。

第一步:生成密钥对

点击「生成密钥对」按钮,工具会自动生成 2048 位的 RSA 公钥和私钥。密钥以 PEM 格式显示,可直接复制使用。

第二步:加密数据

将公钥粘贴到公钥输入框,在明文区域输入需要加密的内容,点击「加密」按钮,即可得到 Base64 编码的密文。

第三步:解密数据

将私钥粘贴到私钥输入框,把密文粘贴到密文区域,点击「解密」按钮,即可还原为原始明文。

安全提示:所有加密和解密操作均在浏览器本地使用 JSEncrypt 库完成,数据不会离开你的设备。但建议不要使用在线工具处理生产环境的真实私钥。

💡 RSA 实用技巧

技巧一:理解密钥长度的选择

RSA 密钥长度直接影响安全性和性能:

密钥长度 安全级别 加密速度 适用场景
1024 位 已不安全 不推荐使用
2048 位 安全 适中 通用推荐
4096 位 高安全 高安全需求

jsjson.com 的 RSA 工具默认生成 2048 位密钥,满足绝大多数开发场景需求。

技巧二:RSA 加密的数据长度限制

RSA 能加密的数据长度受密钥长度限制。对于 2048 位密钥,最大明文长度约为 245 字节(PKCS#1 v1.5 填充)。如果需要加密较长的数据,通常的做法是:

  1. 用 AES 等对称算法加密原始数据
  2. 用 RSA 加密 AES 的密钥
  3. 将密文和加密后的密钥一起传输

这种混合加密模式在实际工程中非常常见。

技巧三:公钥私钥的格式区别

RSA 密钥有两种常见格式:

  • PKCS#1:以 -----BEGIN RSA PUBLIC KEY----- 开头,仅包含 RSA 密钥参数
  • PKCS#8:以 -----BEGIN PUBLIC KEY----- 开头,包含算法标识符,是更通用的格式

大多数现代语言和框架默认使用 PKCS#8 格式。jsjson.com 的 RSA 工具兼容两种格式。

技巧四:用 RSA 实现数据签名

签名是 RSA 的另一大核心用途。流程如下:

  1. 发送方用私钥对数据的哈希值进行签名
  2. 接收方用公钥验证签名,确认数据未被篡改且来源可信
签名 = RSA_Encrypt(PrivateKey, SHA256(Data))
验证 = RSA_Decrypt(PublicKey, Signature) == SHA256(Data)

如果你需要计算 SHA256 哈希值,可以配合使用 jsjson.comSHA256 在线工具

技巧五:在代码中使用生成的密钥对

生成密钥对后,可以直接在代码中使用。以下是 JavaScript 示例:

import JSEncrypt from 'jsencrypt';

// 加密
const encrypt = new JSEncrypt();
encrypt.setPublicKey(publicKey);
const encrypted = encrypt.encrypt('Hello RSA!');

// 解密
const decrypt = new JSEncrypt();
decrypt.setPrivateKey(privateKey);
const decrypted = decrypt.decrypt(encrypted);

❓ 常见问题 FAQ

RSA 加密和 AES 加密有什么区别?

RSA 是非对称加密,使用公钥/私钥对,适合密钥交换和签名,但速度较慢。AES 是对称加密,使用同一个密钥,加解密速度快,适合大量数据加密。实际项目中常将两者结合使用。

RSA 密钥泄露了怎么办?

如果私钥泄露,应立即废弃该密钥对,重新生成新的密钥对,并更新所有使用旧公钥的系统。私钥是 RSA 安全性的根基,务必妥善保管。

在线 RSA 工具安全吗?

jsjson.com 的 RSA 工具所有运算在浏览器本地完成,代码开源可审计。但出于安全最佳实践,建议不要在任何在线工具中使用生产环境的真实私钥。测试和调试时使用工具生成的临时密钥对即可。

RSA 和 ECC(椭圆曲线加密)哪个更好?

ECC 在相同安全级别下密钥更短、性能更好(256 位 ECC ≈ 3072 位 RSA)。但 RSA 兼容性更广泛,生态更成熟。新项目可以考虑 ECC,已有 RSA 基础设施的项目无需强制迁移。

如何在 Linux 命令行生成 RSA 密钥对?

可以使用 OpenSSL 命令:

# 生成 2048 位 RSA 私钥
openssl genrsa -out private.pem 2048

# 从私钥提取公钥
openssl rsa -in private.pem -pubout -out public.pem

如果不想安装 OpenSSL,直接使用 jsjson.comRSA 在线工具 生成密钥对更快捷。

🔗 相关工具推荐

📚 相关文章