Я пишу систему входа для одного из моих приложений для Android. Я работаю с mysql & php для системы входа в систему, используя запрос на отправку от приложения android для входа. Обратите внимание, что учетная запись также сделана с устройства (Регистрация), теперь вот проблема.Функция php crypt() возвращает «странные результаты»
Функция крипты, кажется, лавируя на много дополнительного материала он содержит правильный хэш пароля, но его не так же, как в базе данных, ее лучше всего, если я покажу вам:
пароль в моей базе данных: $ 6 $ WX6WbSQfm5iN $ ъх/B9TKLkcnVDxIPvKc9TUzpWLjD77mlCk
используя правильный пароль точно и с помощью этой функции, как такой
crypt($userPasswordFromPost, $encryptedPasswordFromDB)
возвращает значение, как это: $ 6 $ WX6WbSQfm5iN $ ъх/B9TKLkcnVDxIPvKc9TUzpWLjD77mlCk kOj43jHRW25ecYfbhgGtm27tVG9oSGHqaKrOugYrBpjwzZ // gel0
Обратите внимание, что я должен был поместить пространство для смелой в строке выше, но там нет места, что это полная строка, возвращаемая этой функцией, как вы можете см. правильный хешированный пароль, есть только много дерьма после него.
System info
running on: Ubuntu Linux 12.10 (64 bit)
php version: PHP 5.4.6-1ubuntu1.1 (cli)
Дополнительная информация предоставляется по запросу. Любая помощь очень приветствуется!
Согласно [документам] (http://php.net/manual/en/function.crypt.php), второй аргумент 'crypt' является необязательной солью. Почему вы передаете ему пароль, хранящийся в БД? –
Пароль из базы данных содержит соль. Посмотрите ниже в документах, первый пример – HcgRandon
пароль в базе данных был создан путем вызова функции crypt ('mypassword') – HcgRandon