出于某些原因,我需要使用256位的块大小而不是使用128位块大小的AES来实现Rijndael de / compression(原因:数据使用Rijndael在PHP中加密)。
如何更改密码的块大小?
如果我只是使用cipher "RIJNDAEL/CFB/PKCS5Padding"并尝试使用256位初始化IV,则会出现异常,因为块大小仅为128位。
"RIJNDAEL/CFB/PKCS5Padding"
除了具有128位块大小的Rijndael之外,任何Sun JCE提供程序都不支持任何其他功能:这是AES算法。要获得具有256位块大小的rijndael,您将不得不走到其他地方。我建议Bouncycastle Java库。该RijndaelEngine类有接受位的块大小的构造函数。大多数人都发现,与适当的填充一起使用时,PaddedBufferedBlockCipher类更方便,例如
PaddedBufferedBlockCipher c = new PaddedBufferedBlockCipher(new RijndaelEngine(256), new PKCS7Padding());