PHP 2019 年保护密码的最佳方式
Best way to protect your password in 2019 with PHP
我只是想知道在 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 = 'y$N6FSH8yRo0YMQ4oPJHN1vOkv7GfK3OhVp22H/AjGoVLY.5Dm7ECYS';
if(password_verify($input,$hashed_password)){
echo 'password is valid';
}else{
echo 'Password is invalid';
}
这应该return密码有效。
我只是想知道在 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 = 'y$N6FSH8yRo0YMQ4oPJHN1vOkv7GfK3OhVp22H/AjGoVLY.5Dm7ECYS';
if(password_verify($input,$hashed_password)){
echo 'password is valid';
}else{
echo 'Password is invalid';
}
这应该return密码有效。