當我嘗試將新用戶的密碼放入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