PHP & MYSQL: à l'aide de bcrypt de hachage et de vérification de mot de passe de la base de données

Je suis l'aide de M. Andrew Moore méthode (Comment utilisez-vous bcrypt pour le hachage des mots de passe en PHP?) de hachage du mot de passe utilisateur. Ce que j'ai fait c'est que j'ai une page d'inscription et il utilise

$bcrypt = new Bcrypt(12);
$pass = $_POST['password']; //register password field
$hash= $bcrypt->hash($pass);

//then inserts $hash into database with users registered email (I've checked my mysql database and it indeed has an hashed item

Puis j'ai une page de login, composé de courriel et le mot de passe dans les champs. Ma pensée est que les adresses e-mail sont uniques dans ma base de données. Donc, avec cela à l'esprit, j'ai fait un script où il vérifier les utilisateurs de l'adresse email d'abord, puis si il y a un existant, vérifier le hachage de mot de passe avec ce

$bcrypt = new Bcrypt(12);

$email = $_POST['email']; //from login email field
$pass_l = $_POST['password']; //from login password field
$hash_1= $bcrypt->hash($pass_1);

$chk_email= $dbh->prepare("SELECT password FROM table WHERE email = ?");
$chk_email -> execute(array($email));

while($row = $chk_email->fetch(PDO::FETCH_ASSOC)){
    $chk_pass = $row['password']; //inside a while loop to get the password
    $pass_isGood = $bcrypt->verify($hash_1, $chk_pass);
    var_dump($pass_isGood); //I'm getting false

}

Je ne suis pas sûr de ce que je fais mal, je suis censé être vrai. Et j'ai réglé mon champ de table à text ou même varchar(256)

OriginalL'auteur hellomello | 2012-07-14