Re: [問題] 有關php網頁加入md5後

作者: allen501pc (Linux User!)   2014-05-31 16:59:27
※ 引述《woti (.......)》之銘言:
: 做了一個會員登入的頁面...
: 1.
: 如果在語法中的密碼欄位加入md5,在資料庫中的密碼欄位就會變成無意義亂碼,對吧?
: 2.
: 承1,如果變成無意義亂碼,那登入會員時輸入密碼,
: 資料庫又怎麼跟已變成無意義數字比對?
說到這個,我舉幾個月前遇到的例子。
以前我很習慣在用crypt這個函數來做密碼,因為資料表設計的潔癖習慣,很自然而然去用
長度64的字串來儲存crypt過的密碼。
這在CentOS 5.5的PHP 5.2.x 上工作得很正常。
然而,當我把網站系統搬移到Debian 7.3, PHP 5.4.x之後,產生的crypt password屢
次出現無法驗證的情況。
原因在於,CentOS 5.5預設的crypt是使用CRYPT_MD5,產生crypted password長度是
34個字元。這在長度為64的資料欄位中已很足夠。
而Debian 7.3預設的crypt是使用SHA512,產生crypted password長度是102個字元。
但是在長度為64的資料欄位中,完全不夠用。
再加上當時沒去把exception抓出來,debug很久。
請以後若要設計資料表欄位時,密碼欄位長度能拉長就拉長。
Reference: 我的部落格文章 http://tinyurl.com/kxp9wee
作者: banjmin (HD)   2014-05-31 18:29:00
這我同學也遇過 問我的時候倒是很快就猜到原因了 有遇過debug就很快

Links booklink

Contact Us: admin [ a t ] ucptt.com