MySQL отрубает символы из пароля md5 - PullRequest
2 голосов
/ 27 мая 2011

Я занимаюсь разработкой сайта локально с использованием XAMPP.Есть страница регистрации, на которой я сохраняю пароль после шифрования его с помощью MD5 в базе данных MySQL.Проблема в том, что когда я пытаюсь войти в систему, я не могу.Я обнаружил, что проблема в пароле.Я проверил базу данных и сравнил пароль MD5 с тем, в который я вошел (я просто отобразил хеш MD5 пароля на странице для сравнения).Я обнаружил, что тот в базе данных был короче, чем тот, который повторял.Я пришел к выводу, что MySQL отсекает некоторые символы в конце хэша.Что я должен делать?Я знаю, что это связано с некоторыми настройками в MySQL, но мне нужна помощь.

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

Ответы [ 2 ]

5 голосов
/ 27 мая 2011

Если проблема связана с длиной столбца, измените столбец на более длинный.MD5 - это всегда 32 шестнадцатеричные цифры, поэтому VARCHAR (32) будет хорошим вариантом.

2 голосов
/ 27 мая 2011

Это зависит от длины значения в базе данных ... проверьте свое поле в базе данных и убедитесь, что его тип, по крайней мере, похож на varchar (32)

Чтобы исправить это, вы можете использовать такой запрос

ALTER TABLE Example
 MODIFY password  varchar(32)  

или используйте интерфейс phpMyAdmin

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...