AES 加密与解密

自定义 AES 参数,加密和解密文本或字节。

安全与密码学
正在准备工作区…

输入

正在准备工作区…

输出
结果将显示在这里。

使用方法

  1. 选择加密或解密、密文格式与匹配的 AES 设置。
  2. 输入数据、密钥或口令,以及所需的 IV、salt 和认证参数。
  3. 执行操作,检查结果并保留解密所需的匹配参数。

AES 加密与解密

使用匹配的模式、密钥、IV 和编码进行加解密。默认使用带身份验证的 GCM 模式。

请连同密文保留 IV、盐值及匹配参数。输入的密钥和口令不会包含在导出结果中。

输入与操作

AES-128、192、256 的密钥必须分别为 16、24、32 字节,不会自动补齐或截断。

GCM:12–64 字节,建议 12 字节。CBC、CTR、CFB:必须为 16 字节。ECB 不使用 IV。 默认每次加密生成新的随机 IV 和 salt,因此相同明文可能产生不同密文。手动参数用于兼容调试;必须遵守所选模式对 IV/nonce 的要求。

示例
输入
Plaintext: Hello, encrypted world! 🌐
Passphrase: DevToolsy-demo-passphrase
结果
{
  "format": "devtoolsy-aes",
  "version": 2,
  "mode": "GCM",
  "keyBits": 256,
  "keySource": "passphrase",
  "padding": "none",
  "iv": "EBESExQVFhcYGRob",
  "ciphertext": "QdSMophe/cqRY/7qS1tHMemEKsgTwgzhEdCmOixECYc6+/X/mfq9f9Wq0CE=",
  "kdf": {
    "name": "PBKDF2",
    "hash": "SHA-256",
    "iterations": 600000,
    "salt": "AAECAwQFBgcICQoLDA0ODw=="
  },
  "authentication": {
    "tagLength": 128,
    "aad": ""
  }
}

仅供演示。请勿将示例密钥或密码用作真实凭据。

行为与限制

GCM 支持 96/104/112/120/128-bit Tag、AAD,以及原始密文的拼接或独立 Tag。CBC/ECB 支持 PKCS#7 或 NoPadding;后者要求完整的 16 字节分组。CFB 使用 128-bit 反馈段;CTR 的计数器为 1–128 bit。明文限 1 MiB;二进制结果可用 Hex/Base64 或原始字节下载,非法 UTF-8 会报错。

此模式不验证数据真实性。密钥错误时也可能产生输出;需要检测篡改时请使用 GCM。

ECB 仅用于旧系统兼容:相同的明文块会产生相同的密文块。

复制与使用

JSON v2 保存非秘密参数,并兼容读取旧版 v1 的 AES-256-GCM / PBKDF2-SHA256 / 600,000 次迭代配置。JSON 只是容器,并不为其他模式增加认证。“将结果用作输入”会带入真实参数;切回加密时恢复随机 IV/salt 默认值。

原始密文可与 Node.js、Python、OpenSSL 等实现互操作,但模式、密钥字节、IV、padding、编码和 GCM Tag/AAD 必须一致。不会自动解析 OpenSSL Salted__ 或 CryptoJS 口令封装;请使用实际派生的密钥和 IV。 请连同密文保留 IV、盐值及匹配参数。输入的密钥和口令不会包含在导出结果中。

处理限制

输入: 1 MiB; 密钥: 64 KiB; 文件: 1 GiB; 密码: 4–128 (长度), 1–100 (数量); bcrypt: 1–72 个 UTF-8 字节 · 成本 4–14 · 默认 10; AES: 明文 1 MiB, 加密口令 1 KiB, GCM / CBC / CTR / CFB / ECB, 128/192/256-bit; PBKDF2 / HKDF: 口令 / 输入字节 64 KiB, 盐值 / info 1 KiB, 输出长度(字节) 1–256; 输出 1–256 字节 · PBKDF2 最多 2,000,000 次迭代 · 输入保留在设备上; 耗时: 30 s; 文件: 120 s.

?

常见问题

以后解密需要保留什么?

请连同密文保留 IV、盐值及匹配参数。输入的密钥和口令不会包含在导出结果中。

为什么每次加密结果都不同?

默认每次加密生成新的随机 IV 和 salt,因此相同明文可能产生不同密文。手动参数用于兼容调试;必须遵守所选模式对 IV/nonce 的要求。

输入内容会发送给 DevToolsy 吗?

不会。本工具在本地处理数据。密钥等敏感信息、文件名和结果不会放入页面 URL,也不会保存到工具历史记录。

“清空”会移除哪些内容?

“清空”会移除页面中可见的工作内容,但不保证内存中的数据被安全擦除;剪贴板副本和下载文件由你的设备另行管理。

可以解密任意 OpenSSL 或 CryptoJS 输出吗?

原始密文可与 Node.js、Python、OpenSSL 等实现互操作,但模式、密钥字节、IV、padding、编码和 GCM Tag/AAD 必须一致。不会自动解析 OpenSSL Salted__ 或 CryptoJS 口令封装;请使用实际派生的密钥和 IV。

应该选择哪种模式?

使用匹配的模式、密钥、IV 和编码进行加解密。默认使用带身份验证的 GCM 模式。 此模式不验证数据真实性。密钥错误时也可能产生输出;需要检测篡改时请使用 GCM。 ECB 仅用于旧系统兼容:相同的明文块会产生相同的密文块。

寻找下一个实用工具

语言

切换语言?当前页面的内容将被清空。请先复制或下载需要保留的数据。