6

特定の理由により、128 ビットのブロック サイズを使用する AES の代わりに、256 ビットのブロック サイズで Rijndael 圧縮解除を実装する必要があります (理由: データは PHP で Rijndael を使用して暗号化されます...)。

暗号のブロックサイズを変更するにはどうすればよいですか?

暗号を取得し"RIJNDAEL/CFB/PKCS5Padding"て IV を 256 ビットで初期化しようとすると、ブロックサイズが 128 ビットしかないため、例外が発生します。

4

2 に答える 2

15

128 ビットのブロックサイズを持つ Rijndael 以外のものは、どの Sun JCE プロバイダーでもサポートされていません。これが AES アルゴリズムです。256 ビットのブロックサイズで rijndael を取得するには、別の場所に移動する必要があります。Bouncycastle Javaライブラリをお勧めします。RijndaelEngineクラスには、ブロック サイズをビット単位で受け取るコンストラクターがあります。ほとんどの人は、適切なパディングを使用すると、PaddedBufferedBlockCipherクラスがより便利になることがわかります。

PaddedBufferedBlockCipher c = new PaddedBufferedBlockCipher(new RijndaelEngine(256), new PKCS7Padding());
于 2011-11-10T22:20:46.587 に答える