为什么PKS5Padding在Java中改变了128字节的字符串

时间:2013-09-24 10:18:20

标签: java encryption aes padding

我已经使用PKS5Padding在Java加密中实现了AES(CBC)算法。我注意到输入字符串大小为128字节;加密文本的大小为144字节。这是正常的吗?根据我的理解,AES算法不应填充此字符串,因为它是16的乘法。

1 个答案:

答案 0 :(得分:1)

始终应用PKCS#7 / PKCS#5填充。检查Wikipedia page。如果您的16字节对齐数据将以字节01结束,并且您将删除填充,那么您将有一个较少的明文字节。因此,对于AES,添加了1到16个字节,因此具有块大小的倍数是最糟糕的情况而不是最佳情况。