2012-10-03 35 views
1

我不明白這是如何工作你如何使用BCRYPT

$hash = $bcrypt->hash($_POST['password']); //this string is stored in mysql 

然後驗證與PHP/MySQL的密碼,當用戶登錄,

//get hash string from above from mysql, then 

if ($bcrypt->verify($_POST['password'], $row['password'])) { 
    echo "Logged in."; 
} 

A.),我做這是否正確?

B.)如果是這樣,如果bcrypt沒有存儲在數據庫中,bcrypt如何記住salt?

回答

1

鹽被加在哈希上,所以函數從數據庫中抽出鹽。這就是爲什麼您必須將數據庫中的哈希值傳遞給驗證函數,而不是重新調整密碼並進行比較。

是的,它看起來像你正在做的正確。