PHP & MYSQL: mit bcrypt-hash und überprüfen der Passwort-Datenbank

Ich bin mit Mr. Andrew Moore ' s Methode (Wie verwenden Sie bcrypt für das Hashen der Passwörter in PHP?) von hashing-Kennwort des Benutzers. Was ich getan habe ist, ich habe eine Seite " Registrierung und verwendet es

$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

Dann habe ich eine login-Seite, bestehend aus E-Mail-und Passwort-Felder. Mein Gedanke ist, dass E-Mail-Adressen sind einzigartig in meiner Datenbank. Also, denken Sie daran, ich habe ein Skript, in dem Sie überprüfen die Benutzer E-Mail-Adresse zuerst, dann, wenn es eine bestehende, überprüfen Sie die hash-Passwort mit dieser

$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

}

Ich bin mir nicht sicher, was ich falsch mache, ich bin, soll wahr werden. Und ich habe mein tablefield zu text oder sogar varchar(256)

InformationsquelleAutor hellomello | 2012-07-14
Schreibe einen Kommentar