输入
正在准备工作区…
使用方法
- 选择加密或解密、密文格式与匹配的 AES 设置。
- 输入数据、密钥或口令,以及所需的 IV、salt 和认证参数。
- 执行操作,检查结果并保留解密所需的匹配参数。
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 仅用于旧系统兼容:相同的明文块会产生相同的密文块。