Intereting Posts
Чтобы понять массив в PHP при задании другой переменной в массиве mysql_query сохранить тип данных, созданный в таблице при возврате? Обновите статус страницы facebook с этой страницы Иногда маршруты Codeigniter не работают Могут ли пространства имен PHP содержать переменные? проверка формы для различных условий в воспламенителе кода Вызов пользовательских функций в PHP eval () Использование magic_quotes () влияет на использование mysql_real_escape_string () Убедитесь, что строка соответствует требуемому формату Как работает «неустановленная» конструкция PHP внутри? Доступ к файлам сервера Wamp с помощью имени компьютера, установленного локального IP-адреса. Приложение Android Alamofire загружает изображение с помощью multipart / form-data Коллекция объектов Symfony2 – как добавить / удалить связь с существующими объектами? Laravel запрашивает HTTP, если HTTPS активирован & NBSP; не отображается должным образом

правильное использование password_hash

Я пытаюсь выяснить правильное использование password_hash. У меня есть следующий сценарий ниже

<?php $password = "test3"; $hashAndSalt = password_hash($password, PASSWORD_BCRYPT); echo $hashAndSalt; ?> 

Насколько я знаю, это должно создать соль?

Когда я запускаю скрипт, начало хэша начинается с «$ 2y $ 10 $», остаток остается неизменным при каждом запуске.

 $2y$10$.YHHLeFYcQoE6c//vl587uIFTOljmpmuDnSA0w0dxo1Rrpvi5zM9m <- run one $2y$10$b6n3chpTQk1X7c0OdPp0ceZmw3GvZFsLx9FHq9RnYaJgbld915oYG <- run two $2y$10$AGffB7R1rTko8UmS1m6wT.ybG78.CkwrxqoRteNMeRPXexpSJW5iO <- run three 

Должно ли это работать так? это правильный способ хранения пароля в базе данных?

Solutions Collecting From Web of "правильное использование password_hash"

 $2y$10$.YHHLeFYcQoE6c//vl587uIFTOljmpmuDnSA0w0dxo1Rrpvi5zM9m | | | | | | | | | | | | | |---------------------------------Hashed Password | | |----------------------Salt | |----Cost ----Algorithm 

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

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