由拖库攻击谈Discuz口令字段的加密策略
先转一篇文章:
?
改进的方式使用sha1算法主要目的并不是增加算法难度而是产生大于md5算法长度(32位)的字符串(40位)用于截取出标准md5长度字符串从而实现有损处理。这样处理的结果使得即使获得入库口令以及salt值也无法还原出用户原始明文口令,当然可以通过碰撞实现找到“可以通过登录验证的口令”,但用户原始口令安全性大大提高。
?
这种方式优点是sha1处理仅限于后台PHP流程中,不需要修改前台代码。
缺点是因为入库口令摘要方式变化,已经保存的口令将无法用于新方式验证,必须对 uc_client/control/user.php中 onlogin()函数做修改判断是否需要做DZ默认认证。 一个办法是数据库保存老的password及salt值,通过验证后写入新算法的值然后删除老的password及salt。
?
对加密、摘要算法不熟悉,不确定这种方式能否有效抵御字典攻击~
?
?
?
?
?