有人可以給我電話mybb使用什麼方法來加密數據庫中的密碼? ,因爲我有這個代碼每次我使用用戶和密碼(正確的用戶和通行證)的問題,我有錯誤:「不正確的用戶和密碼」在mybb數據庫中加密密碼的方法
我給你3我的代碼,我需要幫助我覺得我有類問題登錄):
謝謝你的幫助。
class DB
{
var $connection;
var $started;
function start()
{
global $MySQL_Host, $MySQL_User, $MySQL_Pass, $MySQL_DB;
$this->connection = mysql_connect($MySQL_Host, $MySQL_User, $MySQL_Pass);
mysql_select_db($MySQL_DB, $this->connection);
}
function query($query)
{
$result = mysql_query($query, $this->connection);
if($result)
{
return mysql_fetch_full_result_array($result);
}
else
{
return $result;
}
}
function end()
{
mysql_close($this->connection);
}
function isStarted()
{
return $started;
}
}
function mysql_fetch_full_result_array($result)
{
$table_result = array();
$r = 0;
if($result === true)
{
return $result;
}
if(mysql_num_rows($result) == 0)
{
return $result;
}
while($row = mysql_fetch_assoc($result))
{
$arr_row = array();
$c = 0;
while ($c < mysql_num_fields($result))
{
$col = mysql_fetch_field($result, $c);
$arr_row[ $col -> name ] = $row[ $col -> name ];
$c++;
}
$table_result[ $r ] = $arr_row;
$r++;
}
return $table_result;
}
class Login
{
function CheckLogin($username, $password)
{
$db = new DB();
$db->start();
$query = "SELECT uid, password, email FROM mybb_users WHERE username='".$username."' AND password='".md5(md5($salt).md5($password))."';";
$result = $db->query($query);
$db->end();
if($result == false)
return false;
// fwrite($fh, $result);
// fclose($fh);
if(md5(md5($salt).md5($password)) == $result[ 0 ][ 'password' ])
{
return array('uid' => $result[ 0 ][ 'uid' ],
'mail' => $result[ 0 ][ 'email' ],
'user' => $username
);
}
}
}
'MD5(MD5($鹽).md5($密碼))'任何地方聲明。你能告訴我們代碼在哪裏哈希值?另外,你不應該使用'MD5'。相反,看看'SHA1'。 – christopher 2013-05-09 06:59:33
@Chris SHA1對於密碼散列的破壞程度只比MD5小得多。使用一種*昂貴的哈希像河豚!使用https://github.com/ircmaxell/password_compat/ – deceze 2013-05-09 07:05:33