Предполагая, что вы имеете в виду процедуры MySQL AES_ENCRYPT и AES_DECRYPT, я направлю вас к ссылке , в которой говорится, что
AES_ENCRYPT () шифрует строку и возвращает двоичную строку. AES_DECRYPT () расшифровывает зашифрованную строку и возвращает исходную строку. Входные аргументы могут быть любой длины. Если один из аргументов равен NULL, результат этой функции также равен NULL.
Если AES_DECRYPT () обнаруживает недопустимые данные или неправильное заполнение, возвращается NULL. Тем не менее, AES_DECRYPT () может возвращать ненулевое значение (возможно, мусор), если входные данные или ключ недействительны.
Возможно ли, что любая из ваших функций может быть снабжена неверными данными или неправильным заполнением?
Кроме того, функция AES_ENCRYPT может дополнять ваши данные определенной длины. Убедитесь, что вы не усекаетесь, чтобы уместиться в вашей базе данных