我已經在這裏看到一篇文章utf8_bin給我們比較字符更準確,而utf8_general_ci沒有。比較密碼和用戶名的準確性:utf8_general_ci或utf8_bin?
我想知道 - 如果我有一個存儲用戶名和密碼的表,並且我需要它們在用戶登錄我的網站時是準確或正確的。
那麼我應該用utf8_bin達到這個目的嗎?
感謝。
編輯:
順便說一句,這是我使用的哈希函數有密碼,
function hash_sha512($phrase,&$salt = null)
{
//$pepper = '[email protected]#$%^&*()_+=-{}][;";/?<>.,';
if ($salt == '')
{
$salt = substr(hash('sha512',uniqid(rand(), true).PEPPER_KEY.microtime()), 0, SALT_LENGTH);
}
else
{
$salt = substr($salt, 0, SALT_LENGTH);
}
return hash('sha512',$salt.PEPPER_KEY.$phrase);
}
您應該將密碼存儲爲鹽漬散列。獎金:用哈希你不必擔心unicode(僅[a-f0-9]) – knittl 2011-01-24 16:51:21
@ knittl:是的,我已經散列了所有的密碼。謝謝。 – laukok 2011-01-24 16:53:26
@lauthiamkok:哈希值的格式是什麼? – Gumbo 2011-01-24 17:15:29