Я пытаюсь понять, как работает функция password_hash()
.
У меня есть этот ультра-упрощенный php-логин (совершенно небезопасный, просто предназначенный для изучения) с четырьмя выбранными мной паролями.
<?php
$data = file_get_contents('pass.txt');
if($_POST['pass']) {
$line = explode("\n", $data);
for($i = 0; $i<count($line); $i++) {
$item = explode("#", $line[$i]);
if($_POST['pass'] == $item[0]) {
echo "Welcome! You're logged in!";
}
}
}
else { echo '<form method="POST" action="">
<input type="password" name="pass">
<input type="submit">
<form>';
}
?>
и этот pass.txt
, где хранятся пароли (база данных .txt flatfile):
passone
passtwo
passthree
passfour
Можно ли добавить функцию password_hash() в мой код?
Я предполагаю, что php должен иметь возможность перезаписывать базу данных для этой цели, так как эта функция перезаписывает пароли каждый раз, когда вы входите в систему.
Спасибо, ребята ХХХ
password_hash
создает случайную соль. Не ниспровергайте это, в нем отсутствует соль. Вам просто нужно использоватьpassword_verify
вместо==
. - person deceze♦   schedule 17.09.2015