作者bobju (宝贝猪)
看板Database
标题Re: [SQL ] XOOPS + MySQL 关於密码的问题
时间Tue Oct 20 21:17:21 2009
xoops2 在处理用户所设定的密码时, 会先用md5()函式编码後, 再存入资料库.
对於任何被md5()函式编码过的字串, 不论原始长度为何, 编出来的长度一定都是
32个bytes长, 而且不可逆, 理论上不可能从编过的md5 code 逆推得到原始密码.
xoops2 要验证用户的密码时, 也是先用md5()函式将用户输入的密码编成md5编码,
然後再跟之前用户已存在资料库当中已编成md5的密码去比对, 比对成功就通过验
证, 比对失败就是验证失败.
不过有些取巧的步数还是可以'破解'部份内容太单纯的密码, 有兴趣可上google
用'md5' '破解' 去找相关文章, 进阶的话还可以去了解 'salt' 的相关应用.
xoops2不只将md5应用在密码编码及比对上, 也应用在验证其原始程式码是否有经过
变造. 只要对xoops的所有原始码搜寻'md5(', 就可知道xoops在哪些地方会用上md5
函式.
至於原po的问题的处理方式, 应该就是把资料库的用户资料'完整还原'到新的
xoops2系统的资料库上, 对於密码栏不需要做任何变动, 保持其原本的md5编码,
这样原用户的密码才能够正常使用.
※ 引述《whileloop (回圈)》之铭言:
: 我想要透过MySQL直接新增会员资料
: 因为有五百多笔,想用汇入方式,否则用前台新增太慢了
: 但是我发现资料库中密码的栏位是一堆数字与英文夹杂的乱数
: 请问,我该怎麽输入?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 58.115.151.184
※ 编辑: bobju 来自: 58.115.151.184 (10/20 21:28)
1F:推 Tiger0319:不单纯也可被炸开 10/20 21:58
2F:→ bobju:可以加salt,增加被炸开的障碍.不过原po目前要解决的不是这个 10/20 22:01
3F:推 Tiger0319:MD5 已经不安全了 10/20 22:06
4F:推 rushcat:原po现在手上的密码根本就是原始没加密的阿XD 10/20 22:17
5F:推 whileloop:XD 没错... 10/20 22:19
6F:→ bobju:喔,我误会了..那得手动写程式转也行. 10/20 22:47
7F:推 whileloop:感谢bobju大的鼎力相助~~ ^^" 10/20 23:34