PHP хеширование паролей
На данный момент у меня есть эта строка кода
<?php
$pass = "12312312";
echo md5(crypt($pass))
?>
Я знаю, что крипта может генерировать соль случайным образом, но я понятия не имею, как я могу сравнить ее с пользовательским вводом.
Какие поля мне нужны для моего входа в таблицу? а также, какие данные я добавлю в свою таблицу?
Спасибо!
1 ответ
Решение
Вы можете хранить пароль в таблице, как показано ниже
$pass = "12312312";
// store this in table with separate column
$salt = md5("any variable"); // may be email or username
// generate password
$password = sha1($salt.$pass);
// now store salt and password in table
И вы можете проверить пароль, как
$pass = "User input";
// get the user from database based on user id or username
// and test the password stored in db with
if($passwordFromTable == sha1($saltFromTable.$pass))
{
// correct
}