免费在线AES加密解密工具,支持CBC/ECB/CFB/OFB/CTR/GCM模式与128/192/256位密钥,PKCS7/NoPadding等多种填充。兼容Java Cipher和Python Crypto.Cipher,密钥不足时按UTF-8字节直接使用。
Cipher.getInstance("AES/CBC/PKCS5Padding")、
Python Crypto.Cipher.AES 标准实现兼容;密钥不足时按 UTF-8 字节直接使用,不做 PBKDF 派生。
免费在线AES加密解密工具,支持CBC/ECB/CFB/OFB/CTR/GCM模式与128/192/256位密钥,PKCS7/NoPadding等多种填充。兼容Java Cipher和Python Crypto.Cipher,密钥不足时按UTF-8字节直接使用。
后端调试接口加密、前端做敏感字段加密,或是在 Java、Python 之间对齐加解密参数时,最常见的坑就是模式和填充对不上,导致解出来是一堆乱码。这个工具支持 CBC/ECB/CFB/OFB/CTR/GCM 六种模式和 128/192/256 三种密钥长度,PKCS7/NoPadding 等填充,密钥不够长时按 UTF-8 字节直接使用,兼容 Java Cipher 和 Python Crypto.Cipher。所有加解密都在浏览器本地用 CryptoJS 完成,密钥和明文不上传。
AES是什么? → AES(Advanced Encryption Standard)是美国国家标准技术研究所(NIST)发布的对称加密算法,取代了原来的DES。AES支持128位、192位、256位三种密钥长度,安全性高于DES。
AES-CBC和AES-ECB有什么区别? → CBC(Cipher Block Chaining)模式每个数据块加密前先与前一个密文块异或,更安全。ECB(Electronic Codebook)模式每个块独立加密,相同明文产生相同密文,不适合加密有模式的数据。推荐使用CBC模式。
AES-GCM是什么? → GCM(Galois/Counter Mode)是一种认证加密模式,同时提供加密和完整性校验。AES-GCM是目前最推荐的AEAD方案,广泛用于TLS、JWT等场景。
PKCS5Padding和PKCS7Padding有什么区别? → PKCS5是PKCS7的子集,PKCS5固定8字节块,PKCS7可变块大小。AES块大小为16字节,用PKCS7更准确,但Java中PKCS5Padding和PKCS7Padding实际等价。
AES-128和AES-256安全性差多少? → AES-128密钥空间2^128,AES-256密钥空间2^256。理论上AES-256更安全,但AES-128已足够安全,且速度更快。大部分场景AES-128够用。
密钥怎么生成? → 点击"生成随机密钥"按钮,使用浏览器Web Crypto API生成加密安全随机数。也可以用openssl命令:openssl rand -hex 16(128位)或openssl rand -hex 32(256位)。
数据安全吗? → 所有加密解密都在浏览器本地完成(Web Crypto API),密钥和明文不会上传到服务器。适合加密敏感数据。