AES_Encrypt: пароль сбрасывается автоматически - PullRequest
0 голосов
/ 21 апреля 2011

Я использую AES_Encrypt ('123456', 2) для хранения моего пароля в дБ в зашифрованном формате.

Я заметил, что через некоторое время пароль, сохраненный в db, автоматически сбрасывается в NULL. Я перепроверил это с помощью AES_Decrypt.

Я не знаю, почему это происходит. Я не обновляю свой пароль нигде в коде. Тогда мне интересно, как и когда происходит сброс пароля. Это как-то связано с AES_Encrypt?

1 Ответ

0 голосов
/ 21 апреля 2011

Предполагая, что вы имеете в виду процедуры MySQL AES_ENCRYPT и AES_DECRYPT, я направлю вас к ссылке , в которой говорится, что

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

Если AES_DECRYPT () обнаруживает недопустимые данные или неправильное заполнение, возвращается NULL. Тем не менее, AES_DECRYPT () может возвращать ненулевое значение (возможно, мусор), если входные данные или ключ недействительны.

Возможно ли, что любая из ваших функций может быть снабжена неверными данными или неправильным заполнением?

Кроме того, функция AES_ENCRYPT может дополнять ваши данные определенной длины. Убедитесь, что вы не усекаетесь, чтобы уместиться в вашей базе данных

...