当我尝试将新用户的密码放入MySQL数据库时,它不会正确加密它。这里是我使用的代码:这些密码有什么问题?
$encPassword = hash('sha256', $_POST['password']);
$query = sprintf("INSERT INTO users(`userName`,`email`,`password`)
VALUES('%s','%s',PASSWORD('%s'))",
mysql_real_escape_string($_POST['userName']),
mysql_real_escape_string($_POST['email']),
mysql_real_escape_string($encPassword))or die(mysql_error());
$sql = mysql_query($query);
虽然我检查数据库,但它不存储密码为SHA256加密。它只有16个随机字符(应该有50个)。它出什么问题了?
是您的字段VARCHAR具有适当的长度吗? – mkk
数据库中的密码字段是什么类型? –
我会推荐CHAR(64)或BINARY(256)。不是说它有很大的区别,我想:) – Ryan