Я получаю предупреждение в PHP версии 5.6.15. Что означает Ключ размера 26, не поддерживаемый этим алгоритмом.mcrypt_encrypt(): Ключ размера 26 не поддерживается этим алгоритмом. Только ключи размеров 16, 24 или 32 поддерживаются в
-1
A
ответ
2
26 никогда не был действительным размером ключа, но версии PHP < 5.6 используются для прозрачного рассмотрения этого вопроса для вас. От the documentation
Неверные ключи и iv размеры больше не принимаются. mcrypt_encrypt() теперь выдает предупреждение и возвращает FALSE, если входы недействительны. Раньше клавиши и IV были дополнены байтами '\ 0' до следующего допустимого размера.
Таким образом, вы можете реплицировать старое поведение, заполнив свой ключ нулевыми байтами, используя strpad
.
Если это проблема при обновлении вашей версии MySQL, [changelog] (http://php.net/manual/en/function.mcrypt-encrypt.php#refsect1-function.mcrypt-encrypt-changelog) говорит следующее: Недопустимые ключи и iv размеры больше не принимаются. 'mcrypt_encrypt()' теперь выдает предупреждение и возвращает 'FALSE', если входные данные недействительны. Раньше клавиши и IV были дополнены байтами '\ 0'' до следующего допустимого размера. – Phylogenesis