php在5.5版本中新增了password_hash、password_verify两个密码散列函数。
// 散列
$password = ‘123456‘; //原始密码
$hash = password_hash($password, PASSWORD_BCRYPT);//使用BCRYPT算法加密密码
// $2y$10$W7aFHUOPbYtaP/xLxov1E.xjreINt.4gENbwAaOiBIx6hx020ZIuW
// 这里的hash值每次的结果都是不一样的。
// 验证
if (password_verify($password, $hash)) {
return true;
} else {
return false;
}
通过password_hash加密后的密码,使用字典方式很难破解,因为每次生成的密码都是不一样的,破解这种加密只能采用暴力破解。加密方法再好,原始密码设置的过于简单都容易被破解,设置复杂的密码才是王道。