PHP 2019 年保护密码的最佳方式

Best way to protect your password in 2019 with PHP

我只是想知道在 2019 年使用 PHP 加密密码的最佳方法是什么。 我正在使用这种方法,但现在很多人告诉我这是一种不安全的方法:

$password_protect = md5($_POST["password"]);

我做了一些研究,但我发现只有 2017 年的。那么,最好的方法是什么?

谢谢

使用password_hash().

同时检查 password_verify()

PHP passwordhash()

还要检查

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密码有效。