2013-05-02 1 views
0

Я пытаюсь зашифровать данный пароль в соответствии с тем, который находится в базе данных. Однако, используя crypt(), я получаю разные результаты каждый раз, чтобы он никогда не совпадал. Как я могу сделать эту работу.Реализовать crypt() в php

вот инструкция, которая хэширует пароль, заданный пользователем.

if (empty($_POST) === false) { 
     $username = $_POST['username']; 
     $password = crypt($_POST['password']); 

до этого я вручную сделал пользователь, который имел crypt('password'), но если я вхожу в поле «пароль» это Безразлично не совпадают.

ответ

4

Попробуйте ниже:

if (isset($_POST['username']) && isset($_POST['password'])) { 
    $username = $_POST['username']; 
    $password = $_POST['password']; 

    // get the hashed password from database 
    $hashed_password = get_from_db($username); 

    if (crypt($password, $hashed_password) == $hashed_password) { 
    echo "Password verified!"; 
    } 
} 
2

Попробуйте, как это,

//$pass_entered_from_login is the user entered password 
//$crypted_pass is the encrypted password from the 
//database or file 
if(crypt($pass_entered_from_login,$crypted_pass)) == $crypted_pass) 
{ 
    echo("Welcome to my web site.") 
} 

Read more

-2

крипта автоматически генерирует ОСВ каждый раз, когда вы используете его .......... .. поэтому используйте ту же соль для пользователя , сделайте это, зарегистрировав пользователя в своей базе данных и проверяя tooo.

if (empty($_POST) === false) { 
    $username = $_POST['username']; 
    $password = crypt($_POST['password'],$_POST['username']); 
} 

ПРИМЕЧАНИЕ: второй параметр является соль в функции крипт.

надеюсь, что это поможет :)

 Смежные вопросы

  • Нет связанных вопросов^_^