在2019年,使用PHP保护密码的最佳方法

10 浏览
0 Comments

在2019年,使用PHP保护密码的最佳方法

我想知道2019年用PHP加密密码的最佳方法是什么。

我正在使用这种方法,但很多人告诉我这种方式现在不安全:

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

我做了一些研究,但只找到了2017年的资料。那么,现在最好的方法是什么呢?

谢谢。

0
0 Comments

在2019年中,保护密码的最佳方式是使用PHP的password_hash()函数。它的作用是将密码进行哈希处理,以增加安全性。此外,还可以使用password_verify()函数来验证密码。

为了使用password_hash()函数,可以按照以下示例进行操作:

$password = "ABCDabcd";
echo password_hash($password, PASSWORD_BCRYPT, array('cost'=>12));

运行上述代码后,会输出类似这样的结果:

$2y$12$N6FSH8yRo0YMQ4oPJHN1vOkv7GfK3OhVp22H/AjGoVLY.5Dm7ECYS

为了验证密码,假设用户输入的密码存储在$input变量中,哈希密码存储在$hashed_password变量中,可以使用以下代码进行验证:

$input = 'ABCDabcd';
$hashed_password = '$2y$12$N6FSH8yRo0YMQ4oPJHN1vOkv7GfK3OhVp22H/AjGoVLY.5Dm7ECYS';
if(password_verify($input,$hashed_password)){
    echo 'password is valid';
}else{
    echo 'Password is invalid';
}

运行上述代码后,应该会输出"password is valid",表示密码是有效的。

通过使用password_hash()password_verify()函数,可以在2019年中最佳地保护密码。这样可以确保密码的安全性,防止被恶意攻击者获取。感谢这些函数的存在,为我们提供了简单而有效的解决方案。

0