Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
М_Сергей
8 / 8 / 3
Регистрация: 06.12.2013
Сообщений: 187
1

Как работает функция password_hash()?

20.09.2018, 22:49. Просмотров 1577. Ответов 7
Метки нет (Все метки)

Здравствуйте!

Никак не могу понять почему ф-ция password_hash() все время выдает разный хэш при одном и том же исходном пароле?

PHP
1
2
$confirmation_сode = 'SIySlnuWfcXewVRATaCHb9eQdvTp5GFF9conY8br3wgI5FXUuSxSjeXqBEeiWuvM';
$confirmation_сode_hash = password_hash($confirmation_сode, PASSWORD_DEFAULT);
результатом будет каждый раз разный хэш:
$2y$10$PTrjn64eqI4YkBbzWcz2JurVZfZQyZYMfj9DOqQejzTq5tLFqlsE6
$2y$10$Tn5BNWYMB/IpIfbwPSzsyOExbm1aFVg/4Q.vDJDbtWxJnf3L1njrS
$2y$10$IMBfIm9JzbXNtiTilU6MFuzGJQPGxoJs1Lp9H6VxO8aC1E4QFpnFG
и т.д.

Не пойму, а как проверку то делать?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.09.2018, 22:49
Ответы с готовыми решениями:

Как работает приведенный код (функция sprintf)?
<html> <head><title>Сценарий PHP</title></head> <body> <?php $money = 30; $pet =...

Не работает функция
Нужно сохранить страцицу .php в .doc делаю так $fp = fopen("file.doc", 'w+'); $str =...

не работает функция include
после переноса на хостинг не работает функция include, как с этим бороться?:(

не работает функция exec
Здравствуйте всем! Пытаюсь консольным архиватором разархивировать test.rar: <?php ...

Не работает функция imagefilter()
Привет всем! Такая проблема. Библиотека GD установлена (версия 2 или выше, как написано в...

7
Jewbacabra
Эксперт PHP
3557 / 2955 / 1315
Регистрация: 24.04.2014
Сообщений: 8,989
20.09.2018, 22:57 2
https://secure.php.net/manual/ru/faq.passwords.php
0
М_Сергей
8 / 8 / 3
Регистрация: 06.12.2013
Сообщений: 187
20.09.2018, 23:18  [ТС] 3
Jewbacabra, в присланной Вами документации в образце хэша, соль занимает 22 символа. А почему именно 22? И всегда ли будет 22?. Просто в моих хэшах, я не могу провести четкую границу между хэшем и солью. Где этот водораздел?
0
Jewbacabra
Эксперт PHP
3557 / 2955 / 1315
Регистрация: 24.04.2014
Сообщений: 8,989
20.09.2018, 23:33 4
Лучший ответ Сообщение было отмечено М_Сергей как решение

Решение

Цитата Сообщение от М_Сергей Посмотреть сообщение
А почему именно 22? И всегда ли будет 22?. Просто в моих хэшах, я не могу провести четкую границу между хэшем и солью. Где этот водораздел?
Это не важно. Гарантированно что password_verify проверит хеш полученный с помощью password_hash без каких-либо дополнительных действий
1
М_Сергей
8 / 8 / 3
Регистрация: 06.12.2013
Сообщений: 187
20.09.2018, 23:36  [ТС] 5
Спасибо, понял.
0
М_Сергей
8 / 8 / 3
Регистрация: 06.12.2013
Сообщений: 187
23.09.2018, 10:07  [ТС] 6
Jewbacabra, можно еще вопрос? Я не пойму. Если ф-ции password_verify() нужен и пароль и его хэш, то как аутентифицировать пользователя? Ведь он вводит только пароль и на сервер приходит только пароль, а в базе хранятся только хеши. Как вытащить нужного пользователя, если нам заранее неизвестно какой у него хеш?
0
Jewbacabra
Эксперт PHP
3557 / 2955 / 1315
Регистрация: 24.04.2014
Сообщений: 8,989
23.09.2018, 15:53 7
Лучший ответ Сообщение было отмечено М_Сергей как решение

Решение

Цитата Сообщение от М_Сергей Посмотреть сообщение
Ведь он вводит только пароль и на сервер приходит только пароль, а в базе хранятся только хеши
Цитата Сообщение от М_Сергей Посмотреть сообщение
password_verify() нужен и пароль и его хэш
Так ведь есть все данные

Добавлено через 29 минут
Кажется понял в чем вопрос: пользователя получать по логину, email и т.д. Хеш заранее вычислять не надо.
1
М_Сергей
8 / 8 / 3
Регистрация: 06.12.2013
Сообщений: 187
23.09.2018, 21:06  [ТС] 8
Точно... Спасибо!
0
23.09.2018, 21:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.09.2018, 21:06

Не работает функция phpinfo()
При открытии в браузере файла //localhost/test.php <html> <head> <title>тестирование</title>...

Не работает функция move_uploaded_file
После переноса сайта на VPS не работает move_uploaded_file выдает ошибку PHP Warning: ...

Не работает функция выхода на сайте
Всем доброе время суток. Возникла проблема с функцией выхода, после регистрации на сайте. При...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru