AES 加密 / 解密
AES-128/192/256 对称加密解密,支持 ECB/CBC/CTR/GCM 模式与 PKCS7 填充,纯本地计算。
当前 16 字节 · 需要 16 字节
当前 16 字节 · 需要 16 字节
明文
密文(Base64)
AES 加密 / 解密在线工具
AES(Advanced Encryption Standard,高级加密标准)是当前最广泛使用的对称加密算法,由美国国家标准与技术研究院(NIST)于 2001 年发布(FIPS 197)。 本工具支持 AES-128 / AES-192 / AES-256 三种密钥长度,CBC / ECB / CTR / OFB / CFB 五种工作模式,PKCS7 填充,输出可选 Base64 或 Hex。 所有运算在浏览器本地完成,密钥与明文不会离开你的设备。
密钥长度说明
- AES-128:16 字节密钥,10 轮迭代,性能最佳,安全充足。
- AES-192:24 字节密钥,12 轮,部分场景使用。
- AES-256:32 字节密钥,14 轮,最高安全等级,推荐用于长期数据保护。
模式选择
- CBC(推荐):分组链接模式,需 16 字节 IV,相同明文产生不同密文。
- ECB:电子密码本,相同明文块产生相同密文块,不安全,仅在单块加密时使用。
- CTR:计数器模式,流密码,无需填充,并行加密高效。
- OFB / CFB:反馈模式,适用于流式数据。
安全使用建议
在实际工程中使用 AES 时,有几个关键点需要注意。首先是密钥管理:密钥是 AES 安全性的根基,一旦泄露,所有加密形同虚设。密钥应当通过安全的密钥派生函数(如 PBKDF2、scrypt、Argon2)从用户密码派生,而非直接使用短密码。其次是IV 的使用:CBC 模式下 IV 必须不可预测,应当每次加密随机生成(本工具自动生成),IV 无需保密但需与密文一起存储,解密时必须使用相同 IV。
再者是模式选择:生产环境强烈推荐使用 GCM(Galois/Counter Mode)等认证加密模式,它同时提供机密性和完整性保护,能抵抗密文篡改攻击。如果只能选择 CBC,务必配合 HMAC 做完整性校验(Encrypt-then-MAC)。ECB 模式切勿用于加密多块数据,因为它会保留明文的数据模式——经典的"ECB 企鹅"图就是最好的说明。最后,切勿自己实现加密逻辑,应使用经过严格审计的标准库(如 Node.js 的 crypto、浏览器的 Web Crypto API)。
AES 常见问答
AES 加密是什么?
AES(Advanced Encryption Standard,高级加密标准)是美国 NIST 于 2001 年发布的对称加密标准(FIPS 197),取代 DES 成为全球最广泛使用的加密算法。它支持 128/192/256 位密钥,加密和解密使用同一把密钥。
AES-128 和 AES-256 哪个更安全?
AES-256 安全性更高,使用 32 字节密钥、14 轮迭代,理论抗暴力破解能力比 AES-128 强 2^128 倍。但 AES-128 在可预见未来同样安全,且性能更好。长期数据保护推荐 AES-256。
CBC 和 ECB 模式有什么区别?
CBC(分组链接)模式每个块加密前先与前一个密文块异或,需要 IV,相同明文产生不同密文,推荐使用。ECB(电子密码本)模式相同明文块产生相同密文块,会泄露数据模式信息,不安全,仅用于单块加密。
这个 AES 工具安全吗?会保存我的数据吗?
完全安全。所有加密解密运算在你的浏览器本地完成,密钥和明文不会上传到任何服务器,刷新页面即清除。本工具不存储任何用户数据。
AES 密钥长度必须正好等于 128/192/256 位吗?
是的。AES 是分组密码,密钥长度由算法规定,不可任意。本工具要求 UTF-8 字节长度精确等于 16/24/32 字节。如果需要用任意长度密码,建议先用 PBKDF2/Bcrypt 派生为标准长度密钥。