如何将哈希密码而不是明文插入数据库?
(我尝试用'SHA2('?',256')'替换'?')。
也包括一些解释,谢谢!
$query= $con->prepare("INSERT INTO `useracct` (`email`, `password`, `name`) VALUES (?,?)"); $email = $_POST["email"]; $psswd = $_POST["passd"]; $name = $_POST["name"]; $query->bind_param('bb', $email, $psswd, $name); if ($query->execute()) { echo "Query executed."; }else{ echo "Query error."; }
Rehmat.. 5
您可以尝试:
$query= $con->prepare("INSERT INTO `useracct` (`email`, `password`, `name`) VALUES (?,?,?)"); $email = $_POST["email"]; $psswd = PASSWORD_HASH($_POST["passd"], PASSWORD_DEFAULT); $name = $_POST["name"]; $query->bind_param('bbb', $email, $psswd, $name); if ($query->execute()) { echo "Query executed."; } else{ echo "Query error."; }
我已经使用PHP的PASSWORD_HASH
函数来散列密码,并且PHP 5.5和更高版本支持此函数。此处的更多信息:http : //php.net/manual/zh/ref.password.php
散列密码的另一种方法是crypt()
PHP的功能,此功能自PHP 4开始受支持。有关更多信息,请参见:http : //php.net/manual/en/function.crypt.php。
您可以尝试:
$query= $con->prepare("INSERT INTO `useracct` (`email`, `password`, `name`) VALUES (?,?,?)"); $email = $_POST["email"]; $psswd = PASSWORD_HASH($_POST["passd"], PASSWORD_DEFAULT); $name = $_POST["name"]; $query->bind_param('bbb', $email, $psswd, $name); if ($query->execute()) { echo "Query executed."; } else{ echo "Query error."; }
我已经使用PHP的PASSWORD_HASH
函数来散列密码,并且PHP 5.5和更高版本支持此函数。此处的更多信息:http : //php.net/manual/zh/ref.password.php
散列密码的另一种方法是crypt()
PHP的功能,此功能自PHP 4开始受支持。有关更多信息,请参见:http : //php.net/manual/en/function.crypt.php。