罗码网络discuz插件模板教程微信小程序安卓电脑软件htmlphp源码下载

罗码gitluo

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索
开启左侧

[DZ教程] UCenter密码算法规则和生成方法

[复制链接]
罗码男神 实名认证 官方 发表于 2020-1-20 02:21:54 来自手机 | 显示全部楼层 |阅读模式
2016-9-30 02:39:522 K0 I( k2 x9 n* W9 f
康盛的系列产品,包括Discuz、UCHome、Supesite都集成了同一个用户系统——UCenter,用户登录的密码也保存在UCenter中,对于其他系统集成或导出数据到UCenter系统,通常会遇到密码生成的问题,这里就讨论一下UCenter的用户密码算法规则和生成方法。  密码通常使用MD5对用户密码HASH后保存在数据库中的方法,如果黑客拿到了这个HASH数值,那么可以采用字典的方式暴力破解,如果这个字典数据库充足大,并且字典比较符合人们的设置习惯的话,那很容易就能破解常见的密码,因此UCenter采用了salt来防止这种暴力破解,salt是一随机字符串,它与口令连接在一起,再用单向函数对其运算,然后将salt值各单向函数运算的结果存入数据库中。如果可能的salt值的数目充足大的话,它实际上就消除了对常用口令采用的字典式攻击,因为黑客不可能在数据库中存储那么多salt和用户密码组合后的HASH值。
3 e# x9 V2 r3 v8 w4 D, b) @  UCenter的创始人密码是保存在文件中的,打开uc下面/data/config.inc.php文件,里面的UC_FOUNDERPW保存的就是密码,而UC_FOUNDERSALT保存的是SALT数值,创始人密码的创建规则是:UC_FOUNDERPW=md5(md5(PASSWORD).UC_FOUNDERSALT),就是先将密码MD5,然后添加salt,然后再次MD5,产生的HASH数值保存在config.inc.php文件中,因此修改UC_FOUNDERPW里面的数值就可以修改UCenter的创始人密码。9 o. e9 E2 o7 o/ W9 k( n8 v5 y" `
  UCenter的用户信息是保存在uc_members表中,在这个表中,每个用户都有一个不同的随机salt字段,表中的password字段为计算后的密码,密码计算规则是$password=md5(md5($password).$salt),也就是将用户的密码MD5后,添加salt,然后再MD5,保存在password字段中。  R  P$ F$ O* d6 C* g6 w
  因此,如果进行不同系统的数据转换,可以根据这个原理,将其他系统的用户名和密码计算后,导入UCenter的uc_members表中,实现用户的迁移。例如,如果原有系统使用的是md5(password)这样的算法保存密码,那就通过程序随机生成salt,然后计算两者累加后的md5,这样就很容易计算出这个用户在UCenter中的用户密码HASH值,从而实现用户的无缝迁移。
! k4 @: V) m  t3 E* H  q  不过,如果原有系统使用的是md5(password+salt)的方式保存的密码,那就无法实现密码的平滑迁移UCenter了,即使迁移,也只能人为将其UCenter的password增加一个salt才能使用,因此,我们在平时设计系统用户密码的时候,应该尽量采用md5(md5(password)+salt)的方式保存密码,这样才能方便的实现和UCenter的接口,并且保证了安全性,通常对于英文用户名来说,自建系统使用username来做salt是个简便的方法。
6 k$ X/ e6 p# C, j; v  t) [' Y: {' _3 S 1578843948811.jpeg

想说又不敢说,说了又怕被拒绝,拒绝了又怕尴尬,就是这样的。内心很痛苦的那种。
起什么名字呢? 发表于 2020-1-20 11:02:08 | 显示全部楼层
路过,学习下

回复

使用道具 举报

瑾瑾 发表于 2020-1-20 22:57:53 | 显示全部楼层
沙发!沙发!

回复

使用道具 举报

江山狂念 发表于 2020-1-20 23:56:58 | 显示全部楼层
不错 支持下

回复

使用道具 举报

1287252690 发表于 2020-1-21 04:26:39 | 显示全部楼层
不知该说些什么。。。。。。就是谢谢

回复

使用道具 举报

岁月神偷 发表于 2020-1-21 16:29:51 | 显示全部楼层
帮你顶下哈!!

回复

使用道具 举报

全村的希望 发表于 2020-1-21 23:46:53 | 显示全部楼层
有竞争才有进步嘛

回复

使用道具 举报

MR.Z 发表于 2020-1-22 02:27:59 | 显示全部楼层
沙发!沙发!

回复

使用道具 举报

杨晨女神 发表于 2020-1-22 11:35:50 | 显示全部楼层
学习了,谢谢分享、、、

回复

使用道具 举报

foryun 发表于 2020-1-22 17:50:24 | 显示全部楼层
前排支持下

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录 手机动态码快速登录

本版积分规则

QQ|Archiver|手机版|小黑屋|罗码 ( 粤ICP备17073043号 )https://beian.miit.gov.cn/#/home

GMT+8, 2024-5-3 21:57 , Processed in 0.140631 second(s), 61 queries .

Powered by 罗码网络! X3.4

© 2001-2017

快速回复 返回顶部 返回列表