※ 引述《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