Организация авторизации с помощью bcrypt и password_hash

Статус
В этой теме нельзя размещать новые ответы.

Q_BASIC

Хранитель порядка
Регистрация
30 Ноя 2013
Сообщения
516
Реакции
1.240
Приветствую,

В связи с тем, что password_hash возвращает разные хеши одного пароля, по старой схеме авторизацию запилить нет возможности.

1. Какой хеш хранить в бд?
2. Какой хеш хранить в кукак?

Можно хранить в бд и куках один хеш, но тогда смысл хеширования пропадает. Если сливают бд, то хеш из бд устанавливают в куки и всё.

Если делать 2 хеша одного пароля, то как их потом сравнивать, при авторизации по кукам?

Если хранить авторизацию в сессии - браузер закрыл - надо заново авторизовываться. Так не пойдет.

При логине хоть более понятно, берем из бд запись с логином пользователя и сверяем отправленный пароль с хешем из бд. Если всё хорошо, то авторизовываем.
 
Последнее редактирование:
Я знаю про эту функцию. Только сейчас подумал, я хочу сравнить 2 хеша, что в принципе невозможно. Для этого и разрабатывались эти алгоритмы, что бы хеши нельзя было сравнить
Для просмотра ссылки Войди или Зарегистрируйся
Тебе это, наверное, необходимо.
 
Я знаю про эту функцию. Только сейчас подумал, я хочу сравнить 2 хеша, что в принципе невозможно. Для этого и разрабатывались эти алгоритмы, что бы хеши нельзя было сравнить
PHP:
$hash = password_hash('nulled',PASSWORD_DEFAULT);
if (password_verify('nulled', $hash)) {
    echo 'true';
} else {
    echo 'false';
}
 
Я сравнивают не пароль с хешем, а два хеша. Не надо мне password_verify показывать
PHP:
$hash = password_hash('nulled',PASSWORD_DEFAULT);
if (password_verify('nulled', $hash)) {
    echo 'true';
} else {
    echo 'false';
}
 
2ykpon
В общем задача такая- хранение авторизации. Как я понимаю раньше человек просто хранил хеш пароля, а с бкриптом такое не подходит.
Как вариант- храни md5 от бкрипта, при успешной авторизации) Сравнить то его просто)
Ну а вообще , практикуют хранение авторизации в сессии, а сессия хранится к примеру в базе. Делаешь отдельное поле у юзера, при успешной авторизации оно заполняется каким нить случайным числом, которое хранится в куках.
 
2ykpon
В общем задача такая- хранение авторизации. Как я понимаю раньше человек просто хранил хеш пароля, а с бкриптом такое не подходит.
Как вариант- храни md5 от бкрипта, при успешной авторизации) Сравнить то его просто)
Ну а вообще , практикуют хранение авторизации в сессии, а сессия хранится к примеру в базе. Делаешь отдельное поле у юзера, при успешной авторизации оно заполняется каким нить случайным числом, которое хранится в куках.
Это я уже понял. И свою ошибку уже давно понял. А вообще, закройте тему
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху