在早期,php使用者都用一些手動的方案,例如md5之類的去設計加密模式
在php5.5以後,php當局終於出了一個新的解決方案
password_hash與password_verify
這套function的演算法,是基於bcrypt與PBKDF2原理設計的單向加密方案
程式碼設計如下
$hash=password_hash(“rasmuslerdorf”, PASSWORD_DEFAULT);
echo $hash;
echo “<br/>”;
if (password_verify(‘rasmuslerdorf’, $aa)) {
echo ‘Password is valid!’;
} else {
echo ‘Invalid password.’;
}
output
$2y$10$A1T6jBpdgpyaNUivfESm3Or5j5QH93Tqd1DK3/uIiz70/qo/o/F5K
Password is valid
有人會問,那salt去那裡存了,按照官方的說法,salt自動產生,儲存在回傳值內,這確實解決了不少的問題,建議大家使用
如下圖