Я hashed мой пароль в базу данных с помощью функции crypt().Вызов зашифрованного пароля?
$cryptpass = crypt($user_pass);
Теперь, когда я пытаюсь войти в систему с паролем, который «тест» это не будет работать. Вот PHP от входа
$user_name = mysql_real_escape_string($_POST['user_name']);
$user_pass = crypt($_POST['user_pass']);
$user_level = mysql_real_escape_string($_POST['user_level']);
$encrypt = md5($user_pass);
$admin_query = "select * from admin_login where user_name='$user_name' AND user_pass='$user_pass' AND user_level='$user_level'";
К сожалению я свой родом новым для хэширования паролей, в целом время я спас мои пароли как простые тексты.
EDIT:. Когда я повторить запрос здесь результаты крипта = $ 1 $ vh4.Mq4 $ YaABh9aqRKbKpACTDApWb1 выберите * из admin_login где user_name = 'testcr' И USER_PASS = '$ 1 $ vh4.Mq4 $ YaABh9aqRKbKpACTDApWb1' И user_level = 'a', реальный пароль - «тест».
[Crypt] (http://php.net/manual/ro/function.crypt.php) на php.net. Довольно объяснительно. –
Я только что пришел оттуда, может быть, я слишком глуп, чтобы понять пароль hasing. – user3684958
Что делает хэш в вашей базе данных? И в чем смысл установки '$ encrypt'? Вы не используете его. Кроме того, повторите свой запрос, чтобы увидеть, как он выглядит, и убедитесь, что он делает то, что вы ожидаете. –