Uchome中的密码加密以及加密的升级

1 篇文章 0 订阅
1 篇文章 0 订阅

  Uchome中对用户密码的加密规则是,当新用户注册时,为这个用户生成一个六位的随机字符串$salt(我为自己带盐!),比如fy76e8,将这个$salt以及被$salt加密过的密码存放在uchome的用户信息中心--Ucenter数据库的uc_members表中(鄙视某些明文存放用户信息的网站,md5虽然不是不能被破解,但是起码是加密了的):

  $password = md5(md5($password).$salt);  //对字符串进行了两次加密

  所以可以看出其实Ucenter.uc_members才是真的存放用户信息的地方,而Uchome.uchome_member基本是个摆设,看下do_login.php的代码就知道,用户输入的信息在Ucenter里对比后会去修改本地用户表uchome_member里的信息的。而用户正确登陆后,会把uid+md5(pwd)放在uchome_session表里,用以统计在线用户的。

  但是,以上对密码的加密不是不可破解的,所以可以升级下加密的规则,最起码让破解的成本增加一个级别:

  1.对$salt也进行加密:

$password = md5(md5($password).md5($salt));  //三次加密

  2.以上两种方法其实还是有个问题,如果你的数据库泄露了,别人就可以轻而易举的根据那些“盐”来破解密码了,所以再加一个东西:

$password = md5(md5($password).md5($_SECRET).md5($salt));

其中$_SECRET是一个记录在配置文件里(如config.inc.php)或者在初始化时(common.php)声明的一个全局变量,不存放在数据库里。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值