返回博客

AES加密解密CBC在线工具

AES 在线加密解密:CBC 模式、密钥长度与 iv:密文格式一次讲清

AES 在线加密解密怎么做?本文用浏览器本地 AES-CBC 工具演示加密和解密流程,讲清 128/192/256 位密钥长度、IV 的作用与 ivBase64:cipherBase64 密文格式,适合接口调试与临时测试。

接口联调时拿到一段 ivBase64:cipherBase64 密文,需要解密后核对字段;或者临时要给某个字段加密,又不想把密钥交给第三方网站。这类需求用浏览器本地的 AES 在线加密解密工具 最快:密钥和文本都不会离开当前设备。写这篇文章前,我们在浏览器里用真实密钥完整实测了加密、解密与 IV 回填流程。本文以该工具为例,讲清 AES-CBC 的参数与密文格式,并给出加密、解密和排查的完整流程。

什么时候适合用在线 AES 工具

在线 AES 工具适合三类场景:

  • 临时调试:验证某个加密参数或解密一段接口返回的密文,用完即走。
  • 互操作测试:确认自己的实现与工具生成的密文能否互相解开,排查模式、填充或编码不一致。
  • 不想注册或上传:密钥和原文只在浏览器本地处理,不经过任何服务器。

不适合的场景也要说清楚:它不是密钥托管方案,也不能代替密码存储。密码应该使用专用哈希算法,例如 MD5 与 SHA256 哈希指南 中对比的哈希工具,而不是可逆加密。

加密三步

  1. 打开 AES 在线加密解密工具,在“明文 / 密文”中输入要加密的文本。
  2. 输入密钥。IV 可以留空,工具会随机生成 16 字节 IV,并把它的 Base64 形式拼到输出前缀。
  3. 点击“加密”,得到 ivBase64:cipherBase64 格式的结果,冒号前是 IV,冒号后是密文。

工具固定使用 AES-CBC + PKCS7 填充,输出为 Base64。密钥长度由输入字符串的 UTF-8 字节数决定:16、24、32 字节分别对应 AES-128、AES-192、AES-256。中文密钥请留意字节数,例如一个“密码”按 UTF-8 编码通常是 6 字节,不等于 6 个英文字母的密钥长度。

解密与格式说明

解密时把完整的 ivBase64:cipherBase64 粘贴到输入框即可;工具会自动拆分 IV 和密文。也可以把 IV 单独填到“IV(可选)”字段。

解密失败最常见的原因是三种:

现象 原因 处理
输出乱码或解密报错 密钥不一致 确认加密与解密使用完全相同的密钥字符串
结果不正确 IV 不匹配 使用加密输出中冒号前的那段 IV
提示格式无效 密文不完整 粘贴完整的 iv:密文 两段,不要只贴后半部分

另外要注意:Base64 只是编码,不是加密。密文里的 Base64 部分与 Base64 编解码 工具处理的是同一种表示方式,但真正保护内容的是 AES 密钥。想了解编码与加密的区别,可以阅读 Base64 编码解码指南

常见问题

支持 AES-256-CBC 吗?

支持。密钥按输入字符串的字节数确定长度:16、24、32 字节分别对应 AES-128、AES-192、AES-256,加密使用 CBC 模式与 PKCS7 填充。

为什么解密失败?

常见原因是密钥不一致、IV 不匹配或密文不完整。加密时未指定 IV 会随机生成并作为 ivBase64 前缀拼在密文前,解密必须使用同一段 IV 和密钥。

数据会上传吗?

不会。加解密全部在浏览器本地完成,输入内容和密钥不会离开当前设备。

现在试一组真实参数

拿一段真实接口密文,先保留原始值和密钥,再打开 AES 在线加密解密工具 分别尝试加密与解密。只要模式、填充、密钥和 IV 四者一致,就能互相解开。涉及密钥管理的生产系统,请参考 FIPS 197 中 AES 的定义,并使用语言生态中的成熟加密库。

参考资料

[1] NIST FIPS 197 — AES 算法标准:https://csrc.nist.gov/pubs/fips/197/final [2] RFC 2315 — PKCS#7 加密消息语法(填充定义):https://www.rfc-editor.org/rfc/rfc2315

本文目录