RSA / SM2 加解密与签名
用 RSA 密钥(PEM:PKCS#1、PKCS#8、公钥或证书)或 SM2 密钥(十六进制或 PEM)加密、解密、签名或验签;密钥只在浏览器中使用,不随工作流保存。
本地处理
文件只在当前浏览器处理;关闭或清空后不保留。
输入文本
输入或粘贴要处理的文本
调整设置
可调整算法、操作、RSA 加密填充 等
开始处理
在本机浏览器中处理,可随时取消
工具介绍
用 RSA 或 SM2 密钥对文本加密、解密、签名或验签。例如测试要求用 RSA 公钥加密密码的接口,核对支付、登录服务返回的签名,或者在正式使用前确认其他系统提供的 SM2 密钥对能否配合使用。
RSA 密钥支持 PEM(PKCS#1、PKCS#8、公钥或证书)和 Base64 DER,SM2 密钥支持十六进制和 PEM,暂不支持带密码的私钥。RSA 可选 OAEP 或 PKCS#1 v1.5 填充,以及 RS256、PS256 等签名方案。文本和密钥只在浏览器中处理,不上传,密钥也不随工作流保存。
使用步骤
- 在“文本”中填入内容,在“密钥(不随工作流保存)”中填入密钥:加密和验签用公钥,解密和签名用私钥。点击“使用示例”会载入一个 2048 位的 RSA 公钥。
- 选择“算法”和“操作”。
- RSA 需选择“RSA 加密填充”或“RSA 签名方案”,SM2 需选择“SM2 密文排列”;验签时,把签名粘贴到“待验证的签名”。
- 把“密文与签名格式”设为 Base64 或十六进制,点击“运行”,预览并下载结果。
格式与限制
- 输入
- 文本
- 输出
- 纯文本
- 大小上限
- 1 MB
- 可调设置
- 算法(RSA、SM2);操作(加密、解密、签名、验签);RSA 加密填充(OAEP(SHA-256)、OAEP(SHA-1)、PKCS#1 v1.5);RSA 签名方案(PKCS#1 v1.5 + SHA-256、PSS + SHA-256、PKCS#1 v1.5 + SHA-1);SM2 密文排列(C1C3C2、C1C2C3);待验证的签名;密文与签名格式(Base64、十六进制)
- 隐私
- 文本与密钥只在当前浏览器会话中处理,不上传;密钥作为输入提供,不会随工作流或配方保存。
- 费用
- 免费,无需注册
常见问题
能加密多长的文本?
RSA 只加密单个数据块,上限取决于密钥长度和填充:2048 位密钥用 OAEP(SHA-256)最多 190 字节,用 OAEP(SHA-1)最多 214 字节,用 PKCS#1 v1.5 最多 245 字节。文本按 UTF-8 计算,一个汉字占 3 字节;超出上限会报错,不会自动分段。
为什么每次加密的结果都不一样?
RSA 填充和 SM2 加密每次都会加入新的随机数,所以同样的文本和密钥每次得到的密文都不同,但都能解密回原文。
密钥没错,为什么解密失败?
填充方式必须与加密时一致,OAEP(SHA-256)、OAEP(SHA-1)和 PKCS#1 v1.5 不能混用;这里的 OAEP 在 MGF1 中也使用所选的哈希,标签为空。还要确认“密文与签名格式”与密文实际的 Base64 或十六进制格式一致。
SM2 密文排列怎么选?
按对方使用的顺序选择:“C1C3C2(国标)”是现行标准,“C1C2C3(旧版)”是早期顺序。加密结果以 04 点标记开头,解密时密文带不带 04 都可以。
SM2 签名是什么格式?
签名使用 SM3 杂凑,并带入默认用户 ID 1234567812345678,结果为 DER 编码;验签时也接受 64 字节的 r‖s 格式。SM2 加密和验签必须使用公钥本身,而 RSA 可以从私钥中取出公钥部分。
相关工具
对称加密与解密(AES / SM4 / DES)
使用 AES(CBC、ECB、CTR、CFB、OFB、GCM)、SM4、DES、3DES、Blowfish、RC2、RC5、RC6、RC4、Rabbit 或 XOR 加密、解密文本;密钥作为单独输入,不随工作流保存。
密钥对生成
生成 RSA、ECDSA(P-256/P-384/P-521)、Ed25519 或 SM2 密钥对,输出 PKCS #8 或传统格式的 PEM,可用于 JWT、TLS 或加密测试。
HMAC 消息认证码
使用 MD5、SHA-1、SHA-2、SHA-3 或 SM3 以密钥计算文本的 HMAC;密钥单独输入,不随工作流保存。
JWT 签发
以 HS、RS、PS、ES 或 EdDSA 算法将 JSON 载荷签发为 JWT,可添加签发与过期时间;密钥单独输入,不随工作流保存。
JWT 校验
用密钥、公钥、证书或 JWK 校验 JWT 签名,并可检查过期与生效时间;拒绝未签名的令牌,以及以公钥充当 HMAC 密钥的令牌。
凯撒密码与摩斯电码
凯撒密码(自定义位移)、ROT13、ROT47、Atbash 的加密与解密,以及国际摩斯电码的编码与解码。