加密解密在线 - AES-GCM、RSA-OAEP、Caesar 与 ROT13

在浏览器中测试 AES-GCM 文本加密、RSA-OAEP 公私钥流程以及 Caesar、ROT13 转换,适合对照 IV、密钥、Padding 和 Base64 输出,不能代替生产密钥管理。

功能特点

  • 使用 Web Crypto 演示 AES-GCM 文本加密与携带 IV 的解密流程
  • 生成 RSA-OAEP 密钥对并验证公钥加密、私钥解密
  • 提供 Caesar 位移与 ROT13 转换,用于区分古典编码和现代加密
  • 对照 AES-GCM、RSA-OAEP、Caesar 和 ROT13 的用途、密钥/IV 参数与可逆性边界

使用方法

  1. 选择 AES-GCM、RSA-OAEP、Caesar 或 ROT13,并输入脱敏测试文本
  2. 按模式提供密钥、IV、位移或密钥对,记录输出编码
  3. 立即执行反向操作核对明文,并在生产实现中改用正式密钥管理

示例输入

  • AES-GCM 本地文本加密

    模式:AES-GCM
    明文:order_id=1001&amount=99.00
    Secret:demo-secret
    输出:Base64 Ciphertext + Base64 IV

    适合观察随机 IV、认证标签和密文编码;相同明文与 Secret 每次加密的 IV 和密文都可能不同。 涉及密钥或 IV 的输出是说明性示例;随机材料会让每次加密结果变化。

  • AES-GCM 解密接口字段

    Ciphertext:粘贴 AES 加密结果
    Secret:demo-secret
    IV:粘贴同一次加密生成的 IV

    解密时必须使用同一份 Secret 和 IV;只复制密文、不复制 IV 会导致认证失败。 涉及密钥或 IV 的输出是说明性示例;随机材料会让每次加密结果变化。

  • RSA-OAEP 公私钥加密

    先生成 RSA-OAEP 2048 位密钥对
    明文:client_nonce_2026
    加密:使用 PUBLIC KEY
    解密:使用匹配的 PRIVATE KEY

    适合模拟前端用公钥加密、后端用私钥解密的测试流程;私钥只应留在受控环境。 涉及密钥或 IV 的输出是说明性示例;随机材料会让每次加密结果变化。

  • Caesar / ROT13 文本转换

    文本:Attack at dawn
    Caesar 位移:3
    ROT13:启用 ROT13 按钮

    适合演示可逆替换、遗留系统兼容或简单文本混淆,不适合保护密码和业务数据。 涉及密钥或 IV 的输出是说明性示例;随机材料会让每次加密结果变化。

  • AES-GCM 参数对照

    明文:order_id=1001
    Secret:demo-secret
    IV:每次随机生成
    输出:Base64 ciphertext + Base64 IV

    适合逐项记录 Secret 派生、随机 IV、认证标签和 Base64 封装,确认与目标 Web Crypto 或后端实现一致。 涉及密钥或 IV 的输出是说明性示例;随机材料会让每次加密结果变化。

示例输出

  • AES-GCM 本地文本加密

    示例:ciphertext=8kY…Qw==;iv=J7y…2A==(每次加密的随机 IV 和密文都会变化)
  • AES-GCM 解密接口字段

    order_id=1001&amount=99.00
  • RSA-OAEP 公私钥加密

    示例:生成 PEM 公钥和私钥;公钥加密得到 Base64 密文,匹配私钥解密为 client_nonce_2026
  • Caesar / ROT13 文本转换

    Caesar(3): Dwwdfn dw gdzq;ROT13: Nggnpx ng qnja
  • AES-GCM 参数对照

    参数核对:AES-GCM + SHA-256 派生 Secret + 随机 IV + Base64 Ciphertext/IV;需与目标实现逐项一致

常见错误

  • AES-GCM 解密必须同时提供正确的 Secret、密文和 IV;任意一个字符、空格或 Base64 补位不一致都会认证失败。
  • RSA-OAEP 的公钥和私钥必须属于同一密钥对,PEM 类型、换行、OAEP 哈希算法不一致都会导致导入或解密失败。
  • Caesar 和 ROT13 只是可逆替换,不提供机密性;Base64 也只是编码,不能把它们当作安全加密。
  • 测试工具里的 Secret 派生、OAEP 参数和 Base64 封装必须与目标系统完全一致,不能只凭算法名称判断兼容。
  • RSA 不适合直接加密大段文本,真实系统通常用 RSA 加密随机 AES 密钥,再用 AES 加密正文。
  • AES-GCM 的 IV 不需要保密,但同一个密钥下不能重复使用同一 IV;不要把固定 IV 写死在生产代码中。

适用场景

  • AES-GCM 加密解密联调
  • RSA-OAEP 公钥加密和私钥解密测试
  • 接口密文字段与 Base64 输出排查
  • 前端 Web Crypto API 学习
  • Caesar / ROT13 可逆文本转换

实操检查

  • 验证 ROT13 往返

    固定输入:模式“Caesar / ROT13”、文本 `Hello`。步骤:点击 ROT13。预期结果:输出为 `Uryyb`;再次对 `Uryyb` 执行 ROT13 应回到 `Hello`。失败判断:字母结果不一致,或数字/标点被意外改写。

  • 验证 AES 解密往返

    固定输入:plaintext `hello`、secret `demo-secret`。步骤:在 AES-GCM 模式点击“AES 加密”,把生成的 ciphertext 和 IV 连同同一 secret 填入解密字段,再点击“AES 解密”。预期结果:Plaintext 输出 `hello`。失败判断:任一字段留空、secret 或 IV 改动后仍声称解密成功,或正确三元组无法恢复 `hello`。

页面专属核验

使用前与操作中

  • 先区分 AES-GCM/RSA-OAEP 的加密解密与 Base64 的编码、Hash 的摘要、HMAC 的签名;Caesar 和 ROT13 只是可逆文本变换,不提供保密性。
  • AES 模式会用 Secret 的 SHA-256 派生 AES-GCM 密钥并生成随机 12 字节 IV,解密必须同时保留同一 Secret、IV 和 Base64 密文;不要拿演示参数当生产密钥方案。
  • RSA 模式生成 2048 位 RSA-OAEP/SHA-256 密钥对,公钥加密、私钥解密且受 OAEP 明文长度限制;私钥、明文和密文都应使用虚构测试材料。

结果出来后

  • AES 加密后用完全相同的 Secret 和 IV 解密,是否还原原文;更换 Secret、IV 或密文时是否失败而不是返回可信的错误明文?
  • RSA 公钥和私钥是否来自同一次生成,PEM 类型和 OAEP/SHA-256 参数是否匹配,并且明文长度没有超过 RSA-OAEP 限制?
  • 如果目标只是传输表示,是否使用编码工具;如果需要完整性或身份,是否改用签名/HMAC;是否没有把 ROT13、Caesar 或 Base64 当作加密?

相关工具

  • Hash 与签名:统一生成文本 Hash、文件 Hash、HMAC 签名和 Bcrypt 密码哈希
  • JWT 工具:解码 JWT、检查 exp 过期时间,并使用 HS256 生成和验证签名
  • 文本编码转换:统一转换 Base64、Hex、Binary、Unicode Escape、UTF-8 Hex、ASCII、HTML Entity 和 Morse
  • Basic Auth Header 生成器:生成 Authorization: Basic 请求头

工具边界

  • 这是浏览器本地开发测试工具,不是密钥管理、密码存储或生产数据保护系统。
  • AES Secret 使用 SHA-256 直接派生,RSA 固定为 OAEP-SHA-256 2048 位;与其他系统联调时必须匹配算法参数。
  • 工具输出的 Base64 只表示二进制密文,不代表可以脱离算法、密钥和 IV 独立解密。

与相似工具的区别

  • Hash 与签名:加密工具在持有正确密钥时可恢复明文;Hash/HMAC 面向摘要与认证,不提供通用解密。

安全与兼容性

  • Web Crypto 操作在浏览器本地执行;生产密钥仍应由 KMS、HSM 或平台密钥库管理,不能依赖页面复制保存。
  • AES-GCM 禁止在同一密钥下重复 IV;RSA-OAEP 只能加密有限长度数据,生产系统通常使用混合加密和经过审查的协议。

下一步排查

  1. 先确认目标协议使用 AES-GCM、RSA-OAEP、AES-CBC 还是其他算法,并记录 IV、Padding、Hash 和编码格式。
  2. 用脱敏短文本在本地工具和目标语言实现之间交叉验证,逐项比较密钥、IV、密文和 Base64 处理。
  3. 涉及登录、签名或 API 鉴权时,继续使用 Hash、JWT、Basic Auth 和 Headers 工具检查完整请求链路。

常见问题

AES 的 Secret 是不是直接作为 AES 密钥?

当前工作台会对输入 Secret 做 SHA-256,再导入为 AES-GCM 密钥。它适合开发测试,不等同于生产环境的密码学密钥派生方案。

IV 和密文需要一起保存吗?

需要。AES-GCM 解密需要同一次加密生成的 IV;IV 通常可以明文保存,但同一个密钥下不能重复使用。

RSA 为什么加密长文本会失败?

RSA-OAEP 的明文长度受密钥长度和 OAEP 哈希影响,不能像 AES 一样处理任意大小的正文。生产系统通常采用混合加密。

Base64、ROT13 和 AES 有什么区别?

Base64 是编码,ROT13 和 Caesar 是可逆替换,AES 是带密钥的对称加密。只有正确使用密钥和参数的 AES 才用于保护机密性。

为什么相同明文每次 AES-GCM 密文不同?

正常情况下工具会使用新的随机 IV,认证密文因此会变化;解密时必须保留同一次生成的 IV,并确认密钥派生和编码参数一致。