密钥(Key)16字节=128位
偏移量(IV)16字节
加密模式
填充方式Java默认Pkcs5=Pkcs7
输出格式
字符数: {{ leftText.length }}
字符数: {{ rightText.length }}
关于 AES 加密
AES(高级加密标准) 是一种对称加密算法,使用相同的密钥进行加密和解密。它是目前最安全、最广泛使用的加密算法之一。
加密模式说明:
• CBC(密码块链接):最常用的模式,需要IV,安全性高,适合加密大量数据
• ECB(电子密码本):最简单的模式,不需要IV,但安全性较低,不推荐使用
• CFB(密码反馈):流加密模式,需要IV,可以加密任意长度数据
• OFB(输出反馈):流加密模式,需要IV,不会传播错误
• CTR(计数器):流加密模式,需要IV,支持并行加密,性能好
填充方式说明:
• Pkcs7 (Pkcs5):最常用的填充方式,Java 中的 Pkcs5Padding 实际上就是 Pkcs7
• ZeroPadding:用0填充,简单但可能影响解密结果
• NoPadding:不填充,要求数据长度必须是块大小的整数倍
密钥长度:AES 支持 128、192、256 位密钥(16、24、32 字节)。密钥越长,安全性越高,但性能略低。
Java 对应关系:
• Java: AES/CBC/PKCS5Padding = 本工具: CBC + Pkcs7 + Base64
• Java: AES/ECB/PKCS5Padding = 本工具: ECB + Pkcs7 + Base64
注意事项:
• 密钥和IV必须妥善保管,泄露后数据将不再安全
• CBC、CFB、OFB、CTR 模式必须提供IV(初始化向量),IV长度必须是16字节
• ECB 模式不推荐用于生产环境,因为相同的明文会产生相同的密文
• 推荐配置(Java默认):CBC 模式 + Pkcs7 填充 + Base64 输出
评论

