-1
因此,我使用md5在用戶註冊和登錄時對密碼進行編碼和解碼,但是我的數據庫中的密碼與登錄時使用的密碼不匹配,即使我知道它們是相同的單詞:PHP MD5無法正常工作
這就是我的數據庫
098f6bcd4621d373cade4e832
這是用在登錄屏幕上使用的密碼MD5給我帶來
098f6bcd4621d373cade4e832627b4f6
正如你可以看到有7個額外的字符,但我不明白他們爲什麼不相同。下面是用於插入用戶的詳細信息到數據庫上註冊
腳本,這裏是如何我的登錄表單中的值
$qry="SELECT * FROM Members WHERE login='$login' AND passwd='".md5($_POST['password'])."'";
$result=mysql_query($qry);
比較在另一方面,我目前在過程從mysql轉移到mysqli,所以原諒mysql的使用,因爲我知道它的棄用。
什麼是數據庫中密碼字段的SQL數據類型?它是否是'VARCHAR(25)'的機會? – Boaz
是的,它是一個varchar(25),我正在使用排序規則utf8_unicode_ci。請告訴我,這意味着你知道如何解決它:-) – Chris
該領域有多長?請記住,對於至少六年或七年的密碼,md5並不安全(更長?)。你應該在BLOWFISH中使用'crypt()'。 –