ups*_*988 0 php encryption passwords password-encryption
我只是想知道在2019年使用PHP加密密码的最佳方法是什么。我正在使用这种方法,但是许多人告诉我,这是目前不安全的方法:
$password_Protect = md5($_POST["password"]);
Run Code Online (Sandbox Code Playgroud)
我做了一些研究,但直到2017年才发现。那么,最好的方法是什么?
谢谢
使用password_hash()。
同时检查password_verify()。
还要检查
例:
$password = "ABCDabcd";
echo password_hash($password, PASSWORD_BCRYPT, array('cost'=>12));
Run Code Online (Sandbox Code Playgroud)
该示例应输出如下内容:
$ 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';
}
Run Code Online (Sandbox Code Playgroud)
这应该返回的密码是有效的。
| 归档时间: |
|
| 查看次数: |
2802 次 |
| 最近记录: |