php版本 >= 5.5 时,可以使用 password_verify()和password_verify()来对用户的密码进行加密和验证。
对于密码加盐处理,password_hash
函数现在使用的是目前 PHP 所支持的最强大的加密算法 BCrypt 。 当然,此函数未来会支持更多的加密算法。 事实上password_hash()
已经帮我们处理好了加盐。加进去的随机子串通过加密算法自动保存着,成为哈希的一部分。password_verify()会把随机子串从中提取,所以你不必使用另一个数据库来记录这些随机子串,大大简化了计算密码哈希值和验证密码的操作。
password_hash('123456', PASSWORD_DEFAULT);
echo 的时候会输出$2y$10$/YHOPOKb0DRh52ZgDB4wEuRRbydFpEHaIb81Y59sPFQ7eRTg6f0xy这样一个60位加密后的密码,将这个密码存到数据表中即可。
password_hash()
已经帮你处理好了加盐。加进去的随机子串通过加密算法自动保存着,成为哈希的一部分。password_verify()
会把随机子串从中提取,所以你不必使用另一个数据库来记录这些随机子串。
登录的时候只需用如下代码进行验证登录
password_verify('123456',$user['password']);
你可以这样判断
if( password_verify('123456',$user['password']))
{
return '登录成功';
}
else
{
return '密码错误';
}