反馈

RSA加密解密

📖 工具说明

1. 什么是 RSA 加密?

RSA(由 Rivest, Shamir, Adleman 三人姓氏命名)是目前全球应用最广泛的非对称加密算法。与 AES 等对称加密不同,RSA 拥有一对密钥:公钥(Public Key)**和**私钥(Private Key)


2. RSA 核心操作场景

本工具支持 RSA 的两种核心使用模式:

A. 数据加解密(确保私密性)
B. 数字签名与验签(确保真实性)

3. 密钥格式与长度说明

在使用 RSA 工具时,请务必关注您的密钥格式,这通常是导致报错的主要原因:

参数项 说明 常见标准
密钥格式 PKCS#1 vs PKCS#8 PKCS#1 仅支持 RSA;PKCS#8 是通用格式。Java 通常使用 PKCS#8。
密钥长度 1024 / 2048 / 4096 bit 1024 位已不推荐;2048 位为当前主流;4096 位安全性最高但性能消耗大。
填充模式 PKCS1Padding / OAEP 必须确保加解密双方使用的填充模式完全一致。

4. 常见问题解答 (FAQ)

Q:为什么 RSA 不能加密很长的文本?

A: RSA 的加密长度受密钥位数限制。2048 位密钥配合 PKCS#1 填充,一次最多只能加密 245 字节的数据。如果需要处理长文本,通常的做法是:用 [AES 工具] 加密内容,再用 RSA 加密 AES 的密钥(这种方式称为“混合加密”)。

Q:PKCS#1 和 PKCS#8 格式如何区分?

A: 查看密钥的开头文字:

Q:RSA 公钥加密后的结果是唯一的吗?

A: 不是。由于 Padding(填充)机制的存在,每次点击加密生成的密文都会变化,但它们都能通过对应的私钥解密出相同的明文。这是一种安全保护机制。


5. 为什么选择本站的 RSA 工具?

更多RSA基础知识: RSA 深度解析:原理、数学基础、编码与安全性

📖 相关推荐