2KB项目,专业的源码交易网站 帮助 收藏 每日签到

关于ucenter用户密码加密问题

  • 时间:2019-09-20 10:54 编辑:Fiona Reddan 来源:2KB项目 阅读:230
  • 扫一扫,手机访问
  • 分享
摘要://uniqid() 基于微秒计的当前时间,生成一个唯一的 ID$salt = substr(uniqid(rand()), -6);$password = md5(md5($password).$salt);$salt产生一个6位的随机数,及数据库中会保存一个password字段和一个salt字段做为登陆验证的依据。基于uc

//uniqid() 基于微秒计的当前时间,生成一个唯一的 ID

$salt = substr(uniqid(rand()), -6);
$password = md5(md5($password).$salt);


$salt产生一个6位的随机数,及数据库中会保存一个password字段和一个salt字段做为登陆验证的依据。


基于ucenter整合第三方程序同步注册的时候传递过来的password是md5加密后的密文,不可解密,


需要修改第三方程序的登陆验证代码


UCenter的用户信息是保存在uc_members表中,在这个表中,每个用户都有一个不同的随机salt字段,表中的password字段为计算后的密码,密码计算规则是$password=md5(md5($password).$salt),也就是将用户的密码MD5后,添加salt,然后再MD5,保存在password字段中。


因此,如果进行不同系统的数据转换,可以根据这个原理,将其他系统的用户名和密码计算后,导入UCenter的uc_members表中,实现用户的迁移。


例如,如果原有系统使用的是md5(password)这样的算法保存密码,那就通过程序随机生成salt,然后计算两者累加后的md5,这样就很容易计算出这个用户在UCenter中的用户密码HASH值,从而实现用户的无缝迁移。


不过,如果原有系统使用的是md5(password+salt)的方式保存的密码,那就无法实现密码的平滑迁移UCenter了,即使迁移,也只能人为将其UCenter的password增加一个salt才能使用.


因此,我们在平时设计系统用户密码的时候,应该尽量采用md5(md5(password)+salt)的方式保存密码,这样才能方便的实现和UCenter的接口,并且保证了安全性,通常对于英文用户名来说,自建系统使用username来做salt是个简便的方法。




2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|互联网】深入理解 Rust 的动态分派模型(2020-03-30 04:08)
【计算机/互联网|】mysql 索引过长1071-max key length is 767 byte(2020-03-16 04:01)
【计算机/互联网|】maven build卡死在Downloading的解决方法(2020-03-08 12:13)
【计算机/互联网|】Eclipse里的Java项目按住Ctrl + 左键不能进行跳转问题(2020-03-06 15:32)
【计算机/互联网|互联网】Ceph 性能调优(2020-03-03 23:56)
【计算机/互联网|】百度推送返回状态说明(2020-02-22 18:38)
【计算机/互联网|】tomcat建立示例java web项目(2020-02-15 11:27)
【计算机/互联网|】springboot打包成war,部署到tomcat访问404的问题 (2020-02-13 10:54)
【行业动态|】CES 2020教会了我们关于今年手机的知识:更便宜的可折叠材料,5G及更多(2020-02-10 01:32)
【行业动态|】谷歌Chrome的隐私变化将在今年晚些时候登陆网络(2020-02-10 01:28)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部