php - 谁用 crypt() 创建了一个认证系统

标签 php mysql authentication crypt

当我在数据库中创建用户时,我使用 crypt() 函数来保护密码,但是当我尝试创建一个身份验证系统来连接我的用户时,我不明白它是如何工作的。

使用这段代码,这总是传递到 if "WRONG ID OR PASSWORD"中:

<?php

        //connexion to database
        include'connexionBDD.php';


        // Check connection
        if ($bdd->connect_error) {
            die("Connection failed: " . $bdd->connect_error);
        } 
        echo "Connected successfully (".$bdd->host_info.")";

        $pseudonyme = $_POST['pseudo'];
        $password= $_POST['mdp'];


        //on crypte le mot de passe
        $password= crypt($password);

        $req = $bdd->prepare('SELECT ID_utilisateur FROM utilisateurs 
                              WHERE Pseudonyme = :pseudo AND Mot_de_passe = :mdp');
        $req->execute(array(
            'pseudo' => $pseudonyme,
            'mdp' => $password));

        $result= $req->fetch();




        if(!$result)
        {
           echo "WRONG ID OR PASSWORD"; 
        }
        else
        {
            session_start();
            $_SESSION['ID_utilisateur'] = $resultat['ID_utilisateur'];
            $_SESSION['Pseudonyme'] = $pseudonyme;
            $pseudo = $_SESSION['Pseudonyme'];
            echo "<p> You are connected with $pseudo !<p></div>";
        }

          ?> 

最佳答案

crypt() 目前还不是存储密码的首选方式。

使用password_hash()生成密码和password_verify()比较它们。

示例代码:

$password = "tere";
$cryptPassword = password_hash($password, PASSWORD_DEFAULT);
$verify = password_verify($password, $cryptPassword);
var_dump($verify); // Returns bool(true)

还有 crypt()在 PHP 手册中有详细记录,请阅读。

关于php - 谁用 crypt() 创建了一个认证系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31099253/

相关文章:

php - 每个键值循环自增

authentication - FFmpeg RTSP 认证

wcf - 使用 Silverlight 5、IIS 7.5 的 WCF 服务的 Windows 身份验证

api - RESTful 如何使用子域作为资源标识符?

php - FUELCMS(codeigniter)htaccess : order takes one argument, 'allow,deny', 'deny,allow',错误

javascript - 在 PHP/MySQL 中删除多个选定的数据

php - CSqlDataProvider 复杂查询和 totalItemCount

java - MyBatis 中单个映射器方法中的多个语句

php - 将确认密码与散列密码进行比较 |拉维尔 4

php - 如何使用 PHP 从 MySQL 数据库表中过滤数据