MCRYPT_RIJNDAEL_256
er ikke AES-256. Det er Rijndael-chifferet med en blokstørrelse på 256 (deraf fejlen). AES er en delmængde af Rijndael-chifferet, der bruger blokstørrelse på 128 bit og nøgle størrelser på 128, 192 og 256 bit. Dette afspejles også i IV-størrelsen.
For at oprette en AES-256 krypteret chiffertekst kan du bruge MCRYPT_RIJNDAEL_128
med den korrekte nøglestørrelse (256 bits er 32 bytes). _128
postfix angiver den blokstørrelse, der skal bruges; du kan stadig bruge den med enhver gyldig nøglestørrelse på 128, 192 eller 256 bit.
Vær opmærksom på, at mcrypt - især det underliggende C-bibliotek - ikke længere vedligeholdes. Du er bedre stillet ved at bruge openssl eller nyere kryptobiblioteker.
mcrypt- og OpenSSL-indpakningerne tillader også gladeligt ugyldige nøglestørrelser og advarer dig kun - hvis du er heldig. Det er selvfølgelig ikke kompatibelt med nogenlunde veldefinerede AES-biblioteker.