Ich verwende PHP crypt()
. Hier habe ich mein Passwort mit crypt() gespeichert.Wie verschlüsselte Passwort in PHP während der Anmeldung übereinstimmen?
Bei der Anmeldung möchte ich mein Passwort mit dem eingegebenen Passwort und dem eingeloggten Passwort abgleichen, aber in crypt wird jedes Mal ein zufälliger String mit dem gleichen Passwort erzeugt.
Unten ist mein Login-Code.
$user_name=$_REQUEST['username'];
$salt = "";
echo $password=crypt($_REQUEST['password'], $salt);
$query ="select username , password from users where username = '".$user_name."'";
$result = mysqli_query($con , $query);
$row = mysqli_fetch_assoc($result);
echo "<pre>";print_r($row);exit;
Login löschte
$1$oIllNdlE$y23rdM6qp4sv/P/bgfUE7/ //user input
Array
(
[username] => sradha
[password] => $1$dI1IgbiD$NsfWU0fOHOzNEFbd7Vrx.0 //from data base
)
hier mein Passwort 123 ist, für gleiche 123 es Erzeugen von zwei unterschiedlichen Ergebnissen.
unten ist der Code, den ich an die DB am Einfügen, während Zeichen in: mit Krypta
user_name=$_REQUEST['username'];
$salt = "";
$password=crypt($_REQUEST['password'], $salt);
mysqli_query($con , "INSERT INTO users (username , password) VALUES ('sradha' , '".$password."')");
jeder Vorschlag, wie das Passwort übereinstimmen?
nach dem Hinzufügen eines gültigen Salzes, es gibt nicht jedes Mal verschiedene Daten zurück. – sradha