$salt = uniqid();
$crypt = md5($password , $salt);
$new_pass = $crypt.':'.$salt;
在數據庫:ot÷„[ªà%Ûʼn¹:17b8bc731c322c9e05a26666458117f4
MD5 +鹽給我一些奇怪的字符
這是一個語法錯誤?或者數據庫沒有設置正確的字符格式?
$salt = uniqid();
$crypt = md5($password , $salt);
$new_pass = $crypt.':'.$salt;
在數據庫:ot÷„[ªà%Ûʼn¹:17b8bc731c322c9e05a26666458117f4
MD5 +鹽給我一些奇怪的字符
這是一個語法錯誤?或者數據庫沒有設置正確的字符格式?
您啓用raw_output
如果可選raw_output設置爲TRUE,那麼MD5摘要,而不是與長度返回原始的二進制格式16.
變更
$crypt = md5($password , $salt);
^------ You moved the salt to raw_output
要
$crypt = md5($password . $salt);
^------ Should be this
出於安全原因,我不會建議你用md5
進行口令散列處理。 MD5被破壞得很厲害,以至於不再需要很長時間才能找到合適的碰撞或反向散列。 一旦中斷,散列算法只會變得更糟,永遠不會更好,因此選擇完整的散列算法會更好。
標準
更好的選擇
您的意思是「note」而不是「not」? –
@Alex Lunix已更正 – Baba
所以,12個字節用於MD5摘要和32個字符用於'uniqid'輸出?奇怪... –
joomla風格,是嗎? – frankie