MCRYPT_RIJNDAEL_256
není AES-256. Je to Rijndaelova šifra s velikostí bloku 256 (proto ta chyba). AES je podmnožinou Rijndaelovy šifry využívající velikost bloku 128 bitů a klíč velikosti 128, 192 a 256 bitů. To se také odráží ve velikosti IV.
Chcete-li vytvořit šifrovaný text AES-256, můžete použít MCRYPT_RIJNDAEL_128
se správnou velikostí klíče (256 bitů je 32 bajtů). _128
postfix označuje velikost bloku, který se má použít; stále jej můžete používat s jakoukoli platnou velikostí klíče 128, 192 nebo 256 bitů.
Dejte si pozor, že mcrypt – zejména základní C-knihovna – již není udržován. Je lepší používat kryptoknihovny openssl nebo novější.
Obaly mcrypt a OpenSSL také šťastně povolí neplatné velikosti klíčů, jen vás varují - pokud budete mít štěstí. To samozřejmě není kompatibilní s žádnou dobře definovanou knihovnou AES.