Я добавляю нового пользователя в базу данных и хеширую пароль пользователя с помощью pHpass. В этом вопросе я сталкиваюсь со странной проблемой.
Если я создаю / хэш пароль «123» на http://localhost/add.php
и проверьте пароль, используя метод CheckPassword pHpass на той же странице, он скажет, что пароль хороший. Но если я проверю ранее созданный хэш-пароль, созданный на Http: //localhost/add.php, на http://localhost/login.php
, он говорит, что пароль недействителен. Что это?
Мой pHpass 3.0 (Скачано с: http://www.openwall.com/phpass/) настройки есть
Iteration Count = 8
Portable Hashes = FALSE
Я тоже попробовал это с Portable Hashes = TRUE
но те же результаты. Так как же любое тело сможет сопоставить пароль, если кто-нибудь столкнется с этой ситуацией.
Вот как я все сделал.
HashPassword
хэшировать входящий пароль пользователя из POST и сохранить его в базе данных.CheckPassword
с двумя параметрами: 1-й хэшированный пароль пользователя и 2-й хешированный пароль сохраняются в базе данных с именем пользователя; как только pHpass упоминается в test.php
файл загружен с http://www.openwall.com/phpass/Помоги мнеееее!
да, если вы сохранили пароль в хеш-значении во время добавления, чем всякий раз, когда вам нужно войти в систему с помощью login.php, вы сначала преобразуете значение пароля в хеш-код, а затем сравните его с вашим сохраненным значением, и оно будет работать.
Других решений пока нет …