Hash / 密码学辅助

AES 加解密逐项核对密钥、Nonce 与 Tag

输入 16、24 或 32 字节原始密钥;正常加密每次生成新 Nonce,解密需提供原 Nonce、Tag 和相同 AAD。

AES 加解密

明文

解密明文

消息与密钥仅在当前页面内存处理,不上传,也不写入浏览器存储。

选项

模式: AES-GCM

输入最多 1 MiB,AAD 最多 64 KiB;密钥 16/24/32 字节,Nonce 12 字节,Tag 16 字节。

请输入原始密钥;空明文也可以加密。

联调接口时,双方都说用了 AES,却得不到相同密文。AES 加解密测试先把密钥编码、原始字节、Nonce 和认证标签分开,让差异有地方可查。

这个 AES 加解密页面只处理一条测试消息。它不会把口令猜成密钥,也不会替某种服务端格式拼装盐、IV 与密文;要对拍外部系统,先确认双方都采用 AES-GCM。

为什么用 AES 加解密测试

结果不是孤立的一串密文;生成和验证还依赖独立字段。

随机 Nonce 的影响看得见

AES 加解密测试的正常加密每次都会生成新的 12 字节 Nonce。即便明文与密钥不变,密文和 Tag 也会改变;三者分开显示,便于对照接口字段。

同一条消息和同一把密钥分成两次加密,使用不同的彩色 Nonce 方块,得到不同密文与认证标记。

Tag 错误不会吐出明文

改动一个 Tag 字节,认证解密就整体失败。AES 加解密测试不会把尚未认证的部分结果显示成看似可信的明文。

被改动的认证标记停在关闭的验证门前,门后没有明文。

先确认字节,再比较密文

01

认清密钥表示

同一串字符按 Hex 与 UTF-8 解释会得到不同字节数。这里密钥只接受 Hex 或标准 Base64,解码后必须恰好是 16、24 或 32 字节。

  • 口令不能直接贴成密钥;页面不会自动补零或截断。
02

确定 Nonce 与 AAD

默认每次加密都随机生成 12 字节 Nonce;只有复现已知向量才切到手动模式。解密时必须带回原 Nonce,以及加密时完全一致的 AAD。

  • 改动任一输入或编码后,旧结果会过期,复制按钮随即禁用。
03

用官方向量对拍

加载 NIST 向量会先预览覆盖的字段;执行后同时比较密文与 Tag。认证失败只说明参数有不一致,不能凭报错推定一定是密钥错误。

  • 按 Ctrl/Cmd + Enter 可以执行当前加密或解密方向。

逐字节可核对的 GCM 测试

三种原始密钥长度

AES-128、192、256 按解码后字节数选定。AES 密钥长度不对会立刻报错,不会悄悄派生口令。

编码分开设置

明文用 UTF-8 或 Hex;密文、Nonce 与 Tag 各自选择 Hex 或 Base64。AES GCM 解密因此能对应接口实际传的字段。

认证标签独立显示

GCM 认证标签从 Web Crypto 的输出尾部拆出,解密时再按标准拼回;不会让你误把编码格式当作加密算法。

模式、长度与失败边界

只做认证模式
本页只支持 AES-GCM;不提供 ECB、CBC、DES 或自定义封包。那些模式没有同样的认证语义,混在这里会让测试结论失真。
Nonce 和 Tag 严格定长
Nonce 必须 12 字节,Tag 必须 16 字节;同一密钥下复用手动 Nonce 不安全。缺少 Tag 时不会尝试显示明文。
编码不自动修复
Hex 不接受空格、0x 前缀或奇数位;Base64 不猜 URL 变体。认证通过却不是有效 UTF-8 的字节以 Hex 保留。
限制一条测试消息
输入解码后最多 1 MiB,AAD 最多 64 KiB。AES 在线加密解密的单次匹配不能证明生产密钥管理或整个协议安全。

AES 加解密常见问题

为什么我和对方的密文对不上?

先比较密钥解码后的长度、AES-GCM 模式、Nonce、AAD 与密文编码。正常随机 Nonce 也会让相同明文得到不同密文,不能只比输出字符串。

ECB 和 CBC 该选哪个?

这页不提供二者,只测带认证的 AES-GCM。若对方协议指定旧模式,必须在明确其填充与认证方案后使用对应实现。

GCM 模式的 Tag 是什么,可以不填吗?

Tag 是 16 字节认证标签。解密必须提供原 Tag;缺失或不一致时无法得到可信明文。

密钥必须多长?可以随便写一串吗?

原始密钥解码后必须为 16、24 或 32 字节。普通口令不是原始密钥,页面不会自动补齐、截短或做 PBKDF2。

在这里加密安全吗?数据会上传吗?

计算调用浏览器 Web Crypto;本页不把测试消息和密钥发送到服务端,也不持久化。它是联调工具,不能替代生产密钥管理。

还有疑问?

现在进行 AES 加解密测试

先用公开的 NIST 向量确认字段与编码,再换成自己的测试数据。AES 加解密测试会把每次加密的密文、Nonce 和 Tag 分开交给你。