Прочтите Manual
, пожалуйста.
Необязательная сольная цепочка для хэширования. Если не предусмотрено, то поведение определяется реализацией алгоритма и может привести к неожиданным результатам
Пример # 1
<?php
$hashed_password = crypt('mypassword'); // let the salt be automatically generated
/*
You should pass the entire results of crypt() as the salt for comparing a
password, to avoid problems when different hashing algorithms are used. (As
it says above, standard DES-based password hashing uses a 2-character salt,
but MD5-based hashing uses 12.)
*/
if (crypt($user_input, $hashed_password) == $hashed_password) {
echo "Password verified!";
}
?>
Поэтому, когда пользователи пытаются войти, получить зашифрованную password
от базу данных с их username
и сравнить и user input
и hashed password
с crypt
.
Пример # 2
<?php
$username = $_POST["username"];
$password = $_POST["password"];
$passhash = "SELECT `password` FROM `table` WHERE `username` = '{$username}'";
// execute the query and get the hashed password
if ($passhash) {
if (crypt($password, $passhash) == $passhash) {
echo "Password verified!";
}
}
?>
Нечто подобное [это] (http://stackoverflow.com/questions/8199244/using-crypt-and-verifying-not-sure-how-it-works)? – machineaddict
Вам нужно зашифровать пароль, который пользователь заполняет в форме входа перед запросом SQL-запроса – Garry
, но каждый раз, когда он дает другой результат – Saeid