English 简体中文 Tiếng Việt 日本語 한국어 हिन्दी Español Français العربية বাংলা Português Русский اردو Bahasa Indonesia Deutsch Naijá मराठी తెలుగు Türkçe தமிழ்
// cryptographic tool v2.0

RSA Decipher

CLIENT-SIDE ONLY
WEB CRYPTO API
切换加密工具
🔒 纯客户端运行 — 密钥与数据仅在你的浏览器内处理,从不上传至任何服务器。基于浏览器原生 Web Crypto API 实现。
Algorithm Configuration
🔑
Key Material
RSA-OAEP 解密使用私钥(4096-bit / SHA-256)— 与加密时使用的公钥必须配对
松开以加载 .enc 文件
CIPHERTEXT / INPUT
PLAINTEXT / OUTPUT
解密文件可下载
需要加密?
就绪 — 输入密钥、IV 和密文后点击解密
Algorithm
RSA
OAEP / SHA-256
Key Strength
4096
bits
Security Level
HIGH
Asymmetric
Decrypted
0
bytes this session
🔑
为什么 RSA 解密使用私钥?
RSA 是非对称加密算法。加密时使用公钥,解密时必须使用与该公钥配对的私钥。私钥由密钥生成工具在加密页面生成,两者唯一对应——提供不匹配的私钥将导致解密失败。

私钥必须严格保密。若私钥丢失,任何人(包括数据的所有者)都将无法解密对应密文。请务必在生成时妥善保存私钥文件。
📏
密钥长度(Key Size)必须与加密时一致
解密时选择的 Key Size 必须与加密时使用的公钥长度一致。若选错,私钥导入时会因长度不匹配直接报错。

一般来说,正确粘贴私钥 PEM 内容后,工具会自动使用正确长度。如果导入失败,请检查 Key Size 与 Hash 是否匹配。
⚙️
OAEP Hash 必须与加密时一致
RSA-OAEP 解密时使用的 Hash 算法必须与加密时完全相同,否则解密将失败或返回错误结果。

如果加密时使用的是 SHA-256(推荐默认值),解密时也需选择 SHA-256。若不确定,可尝试不同 Hash 选项直到成功。
🔠
输入编码(Input Encoding)— 密文是什么格式?
加密工具输出的密文是经过编码的文本。解密时需选择与加密输出时相同的编码格式,工具才能正确还原为原始二进制字节再进行解密。

Base64:密文由字母、数字和 +/= 组成。Hex:密文由 0-9a-f 组成,长度是字节数的两倍。若上传的是 .enc 二进制文件,则编码选项自动忽略。
📄
PEM 格式详解

1️⃣ PEM 格式详细介绍
PEM(Privacy-Enhanced Mail)是一种存储和传输密钥、证书的文本格式。它将二进制数据(DER 格式)进行 Base64 编码,并在首尾添加类似 -----BEGIN <标签>----------END <标签>----- 的页眉页脚。常见标签有:PUBLIC KEYPRIVATE KEYCERTIFICATE 等。这种格式易于在文本环境中复制、粘贴和传输,是目前最通用的密钥交换格式。

2️⃣ 除了 PEM 还可以是哪些格式?
- DER:纯二进制格式,直接存储 ASN.1 结构,无法直接阅读,常见于 Java 平台。
- HEX:将 DER 二进制表示为十六进制字符串,便于调试或嵌入代码。
- Base64(无页眉):仅对 DER 进行 Base64 编码,不带 PEM 页眉,用于某些配置或紧凑表示(如 JWT)。
- PKCS#12 (PFX):一种包含公钥和私钥的二进制容器格式,通常带有密码保护,用于浏览器或 Windows 系统。

3️⃣ 什么时候用哪种格式?
- PEM:最通用,适用于 OpenSSL、Web 服务器(Nginx/Apache)、API 交换等场景。
- DER:常用于 Java 环境或需要严格二进制存储的场合。
- HEX:在调试、嵌入式系统或需要精确查看字节内容时使用。
- Base64(无页眉):当格式受限或需要紧凑表示时(如 JSON Web Token 的一部分)。
- PKCS#12:需要同时传输公钥和私钥并保护私钥时(通常带密码)。