這是我的代碼,它的工作原理,除了密碼,我該如何解決這個問題?我知道我應該用md5做些事情,但是我找不到解決方案來處理我的代碼。我真的需要讓這種權利和安全,請協助提前AJAX登錄:檢查密碼,如何讓它與md5工作
0
A
回答
0
MD5已過時,不再是足夠的密碼加密方法。您應該使用更現代的加密算法來研究鹽漬哈希。
深思: bcrypt
0
首先,
//get the posted values
$username=htmlspecialchars($_POST['user_name'],ENT_QUOTES);
$password=htmlspecialchars($_POST['password'],ENT_QUOTES);
$check_for_username = $mysqli->query("SELECT username FROM q4jli_users WHERE username='$username' AND password=MD5('$password')");
if (mysqli_num_rows($check_for_username)) {
echo "yes";
} else {
echo "no";
}
謝謝,你需要確保用戶的密碼被加密與MD5數據庫。如果沒有,那麼你可以使用此代碼:
$mysqli->query("INSERT INTO q4jli_users (username, password) VALUES ('$username', MD5('$password'))");
然後,看到如果用戶輸入正確的密碼時,您需要將其加密到MD5,然後在數據庫中運行一個查詢:
$check_for_username = $mysqli->query("SELECT username FROM q4jli_users WHERE username='$username' AND password=MD5('$password')");
+0
您好,感謝您的回答,我已經更新了我的代碼,但它仍然無法正常工作。我剛剛發現joomla 2.5使用了醃過的哈希,你現在如何處理這些代碼? – 2012-04-11 18:07:21
你好,我使用的是joomla 2.5,它們確實使用了鹽漬散列(剛剛發現)。你會如何修改我的代碼以使其工作? – 2012-04-11 18:05:28
我同意@Dave,MD5算法不再被認爲是安全的。請通過以下鏈接:http://www.php.net/manual/en/faq.passwords.php#faq.passwords.fasthash – 2012-04-11 18:07:28
是否有您決定不使用PHP API的原因? http://api.joomla.org/ – Dave 2012-04-11 19:33:34