看板 Web_Design 關於我們 聯絡資訊
※ 引述《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 -- ╒═╕ ║ ║║║ 過方知 ╠═╣║║╓═┐╭─╮ ║ ║║║╠═╜║ ║ 過方知 ║║║╰─╯│ http://allen501pc.blogspot.com -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.120.15.152 ※ 文章網址: http://www.ptt.cc/bbs/Web_Design/M.1401526771.A.A1D.html
banjmin:這我同學也遇過 問我的時候倒是很快就猜到原因了 有遇過de 05/31 18:29
banjmin:bug就很快 05/31 18:29