如何哈希进入数据库的密码?

$useremail = mysqli_real_escape_string($link, $_REQUEST['useremail']);

$password = mysqli_real_escape_string($link, $_REQUEST['password']);

$confirm_password = mysqli_real_escape_string($link, $_REQUEST['confirm_password']);

$f_name = mysqli_real_escape_string($link, $_REQUEST['f_name']);

$l_name = mysqli_real_escape_string($link, $_REQUEST['l_name']);

$grade_level = mysqli_real_escape_string($link, $_REQUEST['grade_level']);


// Attempt insert query execution

$sql = "INSERT INTO Users (useremail, password, f_name, l_name, grade_level) VALUES ('$useremail', '$password', '$f_name', '$l_name', '$grade_level')";


if ($_POST["password"] === $_POST["confirm_password"])......

我试图将代码更改为包含HASH_PASSWORD,但我不认为自己做对了。


手掌心
浏览 125回答 2
2回答

青春有我

首先,请:PDO除了准备好的语句,请尝试使用。它是更新和更安全的。要对字符串进行哈希处理,可以使用以下代码:$hashpassword = password_hash($yourpassword, PASSWORD_DEAULT);要检查输入是否与哈希相同,可以使用:password_verify($yourinput, $dbpassword);这将返回一个布尔值:So trueorfalse

撒科打诨

请使用PHP的内置函数password_hash()和password_verify()处理密码安全性。如果您使用的PHP版本低于5.5,则可以使用password_hash()兼容性包。在散列之前,请确保您不要转义密码或对密码使用任何其他清除机制。这样做会更改密码,并导致不必要的附加编码。
打开App,查看更多内容
随时随地看视频慕课网APP