作者allen501pc (Linux User!)
看板Web_Design
标题Re: [问题] 有关php网页加入md5後
时间Sat May 31 16:59:27 2014
※ 引述《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://webptt.com/cn.aspx?n=bbs/Web_Design/M.1401526771.A.A1D.html
1F:推 banjmin:这我同学也遇过 问我的时候倒是很快就猜到原因了 有遇过de 05/31 18:29
2F:→ banjmin:bug就很快 05/31 18:29