Asaf Maoz Asaf Maoz - 2 months ago 18
PHP Question

mcrypt_decrypt() error change key size


mcrypt_decrypt(): Key of size 15 not supported by this algorithm. Only keys of sizes 16, 24 or 32 supported


How Can I fix this issue? my key is set - can not change it.
It has to be a local change, I think my local PHP version is too advanced for the project I loaded.
How can I fix this?

Answer

Did you update to 5.6? It says

Invalid key and iv sizes are no longer accepted. mcrypt_decrypt() will now throw a warning and return FALSE if the inputs are invalid. Previously keys and IVs were padded with '\0' bytes to the next valid size.

Reference

Read the last line of that quote, and there you will find your solution :)

mcrypt_decrypt(): Key of size 15 not supported by this algorithm. Only keys of sizes 16, 24 or 32 supported

That means you need to pad your key with \0 (that's what previous versions were doing for you)

$key=$key."\0";