我已經通過網絡搜索過,發現哈希密碼的函數。但
我有麻煩處理存儲在數據庫中的散列密碼。我正在使用的函數會生成隨機密碼,因爲它與隨機生成的鹽級聯在一起。 用戶想要更改密碼時出現問題。哈希密碼加鹽
current_password = random hashed password(which must match the one stored in db).
if(current_password == $db_password){
enter new password
}
由於密碼總是隨機的,因此上述條件不會成立。
我的功能
function cryptPass($input,$rounds = 9) {
$salt = "";
$saltChars = array_merge(range('A','Z'),range('a','z'),range(0,9));
for($i = 0;$i < 22; $i++){
$salt .= $saltChars[array_rand($saltChars)];
}
return crypt($input,sprintf('$2y$%02d$', $rounds).$salt);
}
$pass = "password";
$hashedPass = cryptPass($pass);
echo $hashedPass;
i have 3 column in my user table (id, username, password).
任何一個可以告訴我如何正確使用此功能, 還是有做這一個最好的方法?
商店與密碼一起在食鹽。 –