AES 在线加密解密:CBC 与 ECB 模式、密钥长度、IV 和输出编码详解
文章摘要:在线进行 AES-128/192/256 加密解密,支持 CBC、ECB 模式和 hex、base64 输出。详细说明 Key 与 IV 长度要求、模式区别,以及与 Java、Python 等语言结果对不上时的排查方法。

AES 是目前最常用的对称加密算法,对接接口、调试加密配置时经常需要手动验证一段密文。本站提供两个 AES 工具:

  • AES 加密解密(标准模式):可指定密钥位数、CBC/ECB 模式、IV 和编码格式,适合与 Java、Python、Go、Node.js 等程序对接;
  • AES 口令加密:只需输入一个口令,适合快速加密一段文字(与 CryptoJS 兼容)。

两个工具都在浏览器中运行,原文和密钥不会发送到服务器。

一、标准 AES 工具的参数

  • Key Size:128 / 192 / 256,决定 Key 必须是多少字节
  • 加密模式:CBC 或 ECB,CBC 需要 IV,ECB 不需要
  • Key:文本,按 UTF-8 计算字节长度
  • iv:文本,仅在 CBC 模式下显示
  • 编码格式:hex / base64 / utf8,加密时指密文的输出格式,解密时指密文的输入格式

填充方式为 PKCS#7(在 Java 中常写作 PKCS5Padding,二者对 AES 等价)。

Key 长度要求

Key 的 UTF-8 字节数必须恰好等于:

  • AES-128:16 字节(如 16 个英文字母或数字)
  • AES-192:24 字节
  • AES-256:32 字节

注意,一个中文字符在 UTF-8 中占 3 个字节。长度不符时,工具会提示所需字节数,不会自动补齐或截断——这样可以避免“看起来能加密、其他程序却解不开”的情况。

IV 要求

CBC 模式下,IV 必须是 16 个 UTF-8 字节;

如果 IV 留空,工具使用 16 个零字节作为 IV。

使用步骤

  1. 在“原始内容”中输入明文(解密时输入密文)。
  2. 填写 Key,选择 Key Size,使二者长度匹配。
  3. 选择加密模式;CBC 模式填写 iv。
  4. 选择编码格式,通常为 base64 或 hex。
  5. 点击“加密”或“解密”,结果可一键复制。

二、CBC 和 ECB 怎么选

  • ECB:每个数据块独立加密。相同明文块会得到相同密文块,容易暴露数据规律,不推荐用于新系统,只在对接遗留系统时使用。
  • CBC:每块加密前与上一块密文混合,需要 IV。相同明文配合不同的 IV 会得到不同密文,安全性好于 ECB。实际使用中应为每条消息生成随机 IV,并与密文一同传输。

三、hex 和 base64 有什么区别

两者都是把二进制密文转成可显示字符的方式:

  • hex:每字节 2 个字符,只含 0-9、a-f,长度较长;
  • base64:长度约为 hex 的 2/3,常用于 JSON、HTTP 传输。

“转换为大写”按钮适用于 hex 结果。base64 区分大小写,转换后会变成另一段数据,无法解密。 utf8 选项一般不用于密文,因为密文是任意二进制,直接按文本显示会出现乱码且无法还原。

四、和程序结果对不上?逐项排查

  1. 模式一致吗? CBC 与 ECB 的结果完全不同。
  2. Key 位数一致吗? 同一个 Key 不会同时适用于 AES-128 和 AES-256。
  3. IV 一致吗? 对方是否使用了零 IV、随机 IV,或把 IV 拼在密文前面?
  4. 填充一致吗? 对方若使用 NoPadding 或 ZeroPadding,需要相应调整。
  5. 编码一致吗? 密文是 base64 还是 hex,Key 是不是本身就是 hex/base64 字符串(本工具把 Key 当作 UTF-8 文本)。
  6. 明文有没有多余空格、换行?

五、口令加密工具(aes-with-key)

AES 口令加密只需要原文和一个任意长度的 Key(口令),点击“加密”即可得到 Base64 密文。它的特点是:

  • 口令长度不限,工具会根据口令和随机盐自动派生出真正的密钥与 IV;
  • 同一原文、同一口令,每次加密结果都不同(因为盐是随机的),但都能正常解密;

密文通常以 U2FsdGVkX1 开头,这是 OpenSSL / CryptoJS 口令加密格式的标志;

  • 与前端 CryptoJS 的 CryptoJS.AES.encrypt(文本, 口令) 兼容。

适合临时加密一段备忘、在两端都使用 CryptoJS 的项目中调试。若要与后端标准 AES 实现对接,请使用标准模式工具。

安全提醒

  • 在线工具适合调试和学习。生产环境的密钥请妥善保管,不要粘贴到不可信的网站;
  • 本站工具在浏览器本地运行,但也建议调试时使用测试密钥;
  • 新系统优先考虑 AES-GCM 等带认证的模式,并由成熟的加密库生成随机 Key 和 IV。

相关工具

常见问题
Base64 与 URL 编码解码:原理、区别和常见使用场景
在线进行 Base64 编码解码和 URL 编码解码,支持中文。讲解两种编码的原理与区别、何时使用,以及“URI malformed”等解码错误的原因。
AES 在线加密解密:CBC 与 ECB 模式、密钥长度、IV 和输出编码详解
在线进行 AES-128/192/256 加密解密,支持 CBC、ECB 模式和 hex、base64 输出。详细说明 Key 与 IV 长度要求、模式区别,以及与 Java、Python 等语言结果对不上时的排查方法。
在线视频剪辑:截取视频片段、裁剪视频画面,导出 MP4
不用安装剪辑软件,在浏览器中截取视频中的一段、裁掉黑边或多余画面,并导出 MP4。本文介绍时长剪辑和画面裁剪的使用方法与技巧。
视频提取音频:把 MP4 转成 MP3,在线导出视频里的声音
从 MP4、MOV、MKV 等视频中提取背景音乐、对白或讲座录音,导出为 MP3、WAV、FLAC、M4A 等格式。浏览器本地处理,免安装、免上传。
MD5、SHA1、SHA256、HMAC 在线计算:区别、用途与常见误区
在线计算字符串的 MD5、SHA1、SHA256、SHA512 和 HmacSHA 签名,并解释哈希与加密的区别、各算法的安全性,以及 API 签名的常见用法。
在线音频剪辑:看着波形截取 MP3 片段,制作手机铃声
在浏览器中加载音频波形,拖动选择开始和结束时间,试听确认后导出 MP3。适合制作铃声、截取歌曲高潮、剪掉录音中的空白部分。
在线图片裁剪:按 1:1、16:9 等比例裁剪,支持旋转翻转和 WebP 导出
详细介绍在线图片裁剪工具的用法:固定比例裁剪头像和封面、旋转与镜像翻转、锁定裁剪框,并导出 PNG、JPG 或 WebP。
在线图片压缩:不上传服务器,把 JPG、PNG 体积降下来
介绍如何用浏览器本地压缩 JPG、PNG 图片,讲清楚压缩质量滑块、输出格式和压缩率的含义,以及不同图片该怎么选参数。
随机字符串生成器:快速生成字母数字组合的测试数据和临时标识
在线生成 1 到 10000 位、由大小写字母和数字组成的随机字符串,首字符固定为字母。介绍适用场景,以及为什么它不适合用作密码和密钥。
免费在线工具大全:图片、视频、音频处理和加密编码,文件全程不上传
汇总仙仙在云端的图片压缩、视频剪辑、音频转换、二维码、AES、MD5 等在线工具,并解释这些工具如何借助 WebAssembly 在浏览器本地处理文件、保护隐私。
PNG 转 JPG、JPG 转 PNG:在线图片格式转换指南
在浏览器中免费完成 PNG、JPG、BMP 等图片格式互转,说明透明背景、文件体积和画质在转换时会发生什么变化。
在线音频压缩:降低 MP3 码率,减小录音和音乐文件体积
讲解音频码率与文件大小的关系,介绍如何在浏览器中压缩 MP3、WAV 等音频文件,并给出语音、音乐等不同场景的压缩质量建议。
音频格式转换:WAV 转 MP3、FLAC 转 MP3、M4A 转 MP3 在线完成
介绍 MP3、WAV、FLAC、M4A、OGG、WMA、AC3 等音频格式的区别,以及如何在浏览器中免费、免上传地完成音频格式互转。
在线视频压缩:在浏览器里压缩 MP4,原理、参数与预估体积
无需安装软件、无需上传,在浏览器中用 FFmpeg 压缩 MP4、MOV、MKV 等视频。本文解释压缩质量与码率的关系,以及如何预估压缩后的大小。
在线修改图片分辨率、查看图片信息、生成 ICO 图标
用一个页面完成图片分辨率修改(Resize)、质量调整、查看格式和色彩空间等图片信息,并把 PNG/JPG 转换成网站 favicon 所需的 ICO 图标。
二维码生成与识别
输入文字或链接即可实时生成二维码并下载为图片;上传二维码截图即可识别其中的网址或文本。介绍使用方法、容量建议和安全提示。
视频格式转换:MOV 转 MP4、MKV 转 MP4、MP4 转 WebM 在线完成
介绍 MP4、MKV、AVI、MOV、FLV、WebM、M4V 等视频格式的区别和适用场景,以及如何在浏览器中免安装、免上传地完成视频格式互转。