MCRYPT_RIJNDAEL_256
bukan AES-256. Ini adalah sandi Rijndael dengan ukuran blok 256 (karenanya kesalahannya). AES adalah subset dari Rijndael cipher menggunakan ukuran blok 128 bit dan kunci ukuran 128, 192 dan 256 bit. Ini juga tercermin dalam ukuran IV.
Untuk membuat ciphertext terenkripsi AES-256, Anda dapat menggunakan MCRYPT_RIJNDAEL_128
dengan ukuran kunci yang benar (256 bit adalah 32 byte). _128
postfix menunjukkan ukuran blok yang akan digunakan; Anda masih dapat menggunakannya dengan ukuran kunci apa pun yang valid 128, 192, atau 256 bit.
Hati-hati bahwa mcrypt - terutama C-library yang mendasarinya - tidak dipertahankan lagi. Anda lebih baik menggunakan openssl atau pustaka kripto yang lebih baru.
Pembungkus mcrypt dan OpenSSL juga akan dengan senang hati mengizinkan ukuran kunci yang tidak valid, hanya memperingatkan Anda - jika Anda beruntung. Itu tentu saja tidak kompatibel dengan perpustakaan AES mana pun yang terdefinisi dengan baik.