ecshop密码加密以及修改分析

2013-07-09 21:58 来源:www.chinab4c.com 作者:ecshop专家

     ecshop密码修改功能分析,这个就必须牵涉到ecshop的密码加密方式,在ecshop中,ecshop的密码加密方式开始是简单的md5(md5(pwd)),但是随着ecshop的发展,ecshop密码方式变化不小。首先是在ecshop数据库中增加了`ec_salt`的密钥字段,其次就是在密码处理的时候,需要带上md5(md5(pwd)+ec_salt)这样形成了ecshop的双重加密。

    ecshop但是在修改密码和登陆的时候,调用的是默认接口,更多的是靠老算法在同步,而且密码的修改和验证,其实还是做的不太好。更多的时候ecshop是趋向于md5(md5(pwd))方式的,所以在很多时候,我们可以看到ecshop目前代码中,会把ec_salt设置为0

     在实现这个功能的时候,我们应该很清楚的认识到。ecshop的密码加密方式是多变的,特别是在做联合登陆的时候,我们必须很清楚的认识到.ecshop的密码,他很可能是通过uc接口调用,而只是通过user_name来进行处理的。

     我们可以看到ecshop密码处理compile_password()函数,PWD_MD5的时候,如果存在复杂的加密参数,那么其实是执行return md5($cfg['md5password'].$cfg['ec_salt']),

这个时候,我们在处理ecshop密码修改的时候,自然的就必须带上密钥了,处理起来,会更加的方便。如果我们在提交参数的时候,如果不带$cfg['type']的密码加密方式,他自然就是默认为复杂方式,而这个时候,0为默认最适合的。所以当你在修改密码,如果设置的参数,不是0,就很可能出现很大的错误。 $cfg['type'] = PWD_MD5;

   来源:http://www.chinab4c.com