我只是想知道什么是我用这种方法在2019年加密使用PHP密码的最佳方式,但很多人告诉我,现在是一个不安全的方式:
$password_Protect = md5($_POST["password"]);
我做了一些研究,但我只找到2017年。那么,什么是最好的方式?
谢谢
使用password_hash()
。
还要检查password_verify()
。
并检查
例:
$password = "ABCDabcd";
echo password_hash($password, PASSWORD_BCRYPT, array('cost'=>12));
这个例子应该输出是这样的:
$ 2Y $ 12 $ N6FSH8yRo0YMQ4oPJHN1vOkv7GfK3OhVp22H / AjGoVLY.5Dm7ECYS
为了验证:说用户输入自己的密码,并储存此输入变量;
$input = 'ABCDabcd';
$hashed_password = '$2y$12$N6FSH8yRo0YMQ4oPJHN1vOkv7GfK3OhVp22H/AjGoVLY.5Dm7ECYS';
if(password_verify($input,$hashed_password)){
echo 'password is valid';
}else{
echo 'Password is invalid';
}
这应返回的密码是有效的。