У меня есть система регистрации, в которой хешируют зарегистрированные пароли для sha512. Я не знаю, как сделать его логином с этим типом хэшированного пароля. вот мой код:Как войти с данными из mysql с помощью хэшированного пароля sha512 через mysql login?
<?php
$host="localhost";
$username="root";
$password="";
$db_name="users";
$tbl_name="users";
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$username=$_POST['username'];
$password=$_POST['password'];
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
$sql="SELECT * FROM $tbl_name WHERE username='$username' and password='$password'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1){
session_register("username");
session_register("password");
header("location:login_success.php");
}
else {
echo "Wrong Username or Password";
}
?>
увидеть этот ответ http://stackoverflow.com/questions/1966154/sha-512-library-for-php#1966162 –
Есть слишком много вещей неправильно с этим - рассмотрите вопрос о том, как правильно * реализовать хэш-файл с паролем auth: * не переустанавливайте аутентификацию небезопасно! * Без хорошего знания понятий это не может не быть написано неправильно! Вместо этого используйте проверенную библиотеку! Эта тема была избита до смерти, и функция 'crypt' PHP в основном обрабатывает детали. Если вы используете SHA-x (количество бит не имеет значения) или не используете соль, или не знаете, почему первое не должно использоваться, а последнее необходимо, * продолжайте читать * - но на самом деле используйте * чужой проверенный код! * – user2246674
Для всех ответов, отправленных **, если вы не обращаетесь (по крайней мере, мимоходом) к вопросам, связанным с * оба * отсутствием соли и плохим выбором хеш-функции, вы делаете OP и будущее читателей - плохая услуга **. Но опять же, это было избито до смерти. – user2246674