RSA 密钥与加解密

RSA 非对称加密工具,支持密钥生成、公私钥加解密、数字签名与验签。

密钥生成 (Key Generation)

格式转换 (PEM ↔ Hex)

使用说明

算法介绍

RSA 是一种非对称加密算法,广泛用于安全数据传输,基于大整数分解的数学难题。公钥(Public Key):用于加密数据或验证签名,可以公开分享;私钥(Private Key):用于解密数据或生成签名,必须严格保密;加密/解密:公钥加密的数据只能用私钥解密,确保只有持有私钥的人能读取信息;签名/验签:私钥生成的签名可以用公钥验证,证明消息确实由私钥持有者发送且未被篡改。

使用步骤

1. 密钥管理:选择密钥长度(1024/2048/4096),点击"生成密钥对"创建 PEM 格式密钥;2. 加密/解密:先选择填充方案(RSA-OAEP 推荐 或 PKCS#1 v1.5 兼容),在加密区输入明文,使用公钥加密得到 Hex 密文;在解密区输入 Hex 密文,使用私钥解密还原明文(加密/解密需使用相同填充方案);3. 签名/验签:选择哈希算法(SHA-1/SHA-256/SHA-384/SHA-512),输入原文,使用私钥生成 Hex 签名;在验签区输入原文和 Hex 签名,使用公钥验证签名有效性(签名与验签需使用相同哈希算法)。

注意事项

生成的密钥默认为 PEM 格式(Base64 编码的 DER 数据,包含头部和尾部);加密结果通常较长,且受密钥长度限制(不能加密过长的数据),通常结合对称加密使用(即用 RSA 加密对称密钥);1024 位密钥已不安全,推荐使用 2048 位或以上;本工具完全在浏览器端运行,密钥不会上传到服务器;生成 4096 位密钥可能耗时较长;PKCS#1 v1.5 填充方案存在已知攻击(如 Bleichenbacher 攻击),仅建议用于兼容旧系统,新项目请使用 RSA-OAEP;密文与签名均采用 Hex 编码(非 Base64)。