算法/模式/填充 16 字节加密后数据长度 不满 16 字节加密后长度
AES/CBC/NoPadding 16 不支持
AES/CBC/PKCS5Padding 32 16
AES/CBC/ISO10126Padding 32 16
AES/CFB/NoPadding 16 原始数据长度
AES/CFB/PKCS5Padding 32 16
AES/CFB/ISO10126Padding 32 16
AES/ECB/NoPadding 16 不支持
AES/ECB/PKCS5Padding 32 16
AES/ECB/ISO10126Padding 32 16
AES/OFB/NoPadding 16 原始数据长度
AES/OFB/PKCS5Padding 32 16
AES/OFB/ISO10126Padding 32 16
AES/PCBC/NoPadding 16 不支持
AES/PCBC/PKCS5Padding 32 16
AES/PCBC/ISO10126Padding 32 16
1、在原始数据长度为 16 的整数倍时
假如原始数据长度等于 16*n,则使用 NoPadding 时加密后数据长度等于 16*n,其它情况下加密数据长度等于 16*(n+1)。
2、在不足 16 的整数倍的情况下
假如原始数据长度等于 16*n+m [其中 m 小于16],除了 NoPadding 填充之外的任何方式,加密数据长度都等于 16*(n+1);
其中 NoPadding 填充情况下,CBC、ECB 和 PCBC 三种模式是不支持的,CFB、OFB 两种模式下则加密数据长度等于原始数据长度。