Для шифрования:
$encryptedPassword = crypt($password, '$2a$07$usesomesillystringforsalt$');
Должна ли часть $ Использовать некоторыеsillystringforsalt $ быть рандомизированной или фиксированной? (Я думаю, исправлено, но я хочу быть уверен).
Пример результата:
$2a$07$usesomesillystringforeHwaCeDEv6rYjbWCzbzsFKwD4sDLktr
Это правильное зашифрованное значение?
Для проверки правильности введенного пользователем пароля для входа в систему:
(Допустим, есть поле ввода с именем password
и сравнивается со значением $password
, полученным из базы данных):
if (crypt($_POST['password'], '$2a$07$usesomesillystringforsalt$') === crypt($password, '$2a$07$usesomesillystringforsalt$')) {
// Password submitted is correct
}