md5/sha1+salt方式是目前各大cms常用的加密方式,虽然salt安全,但是各大md5网站也在研究这个方向,那么我们应该选择password_hash动态hash来助力,一种密码有多种hash结果.看代码模拟登陆.
<?php //01.注册 $user ='zhangsan'; $pass = '123456'; $hash = password_hash($pass, PASSWORD_DEFAULT); //02.保存用户名和生成的随机hash到数据库,省略代码 //03.用户尝试用原来的密码登录 $pass = '123456'; if (password_verify($pass,$hash)) { echo "登录成功!"; } else { echo "登录失败!"; } //04.用户尝试用错误的密码登录 $pass = '654321'; if (password_verify($pass,$hash)) { echo "登录成功!"; } else { echo "登录失败!"; } ?>
password_hash()创建的哈希密码更加安全,但是无法使用其他语言来验证