司博文
司博文
4039 11 0

话说管理员密码忘了,怎么破??

刚建了一个站点,
注册了一个账号,
但是玩了一会,
密码忘了,
怎么破??

0

See Also

Nearby


Discussion (11)

jat001
jat001 2013-05-02 10:00

密码在数据库中可以查看,但是 MD5 加密,如果比较简单,可以试试解密的网站,不行的话,删掉数据库重装吧。

0
司博文
司博文 2013-05-02 10:03

解决了,
数据库里复制了另一个账号的密码,
用另一个密码登陆了

0
司博文
司博文 2013-05-02 10:05

@jat001
thank you !

0
jat001
jat001 2013-05-02 10:13

@ego008 这让我想起了 MD5 的安全性,把加密改成 Hash 再加盐吧。

0
ego008
ego008 2013-05-02 13:00

@jat001 common.php 里的 formhash 函数加了点盐。
下次改进密码加盐,看看能不能较友好的兼容已有上线网站。

0
superwbd
superwbd 2013-05-02 20:40

@ego008

貌似还有一种思路:

把一个简单的密码(123456)加盐后,直接公开加密数据。

这样,要是忘了,进数据库,把密码替换,就能用123456登陆了。

另:
https://github.com/superwbd/youBBS-ACICFG
在1.04基础上加了点功能,调试中。。。
啥都不会,别见笑。。。

0
jat001
jat001 2013-05-03 01:17

@superwbd @ego008 discuz 是两层 MD5 并加盐,wordpress 则更复杂。
我的想法是:
在数据库中新增两列 new_passwd 和 salt,用户登录时判断是否存在 new_passwd 和 salt,不存在验证 password,登录后强制要求用户修改密码。在几个版本后,用 new_passwd 替换 password。salt 可以用用户的注册时间,也可以像 discuz 那样随机产生并写进数据库,wordpress 则是用户指定。

0
ego008
ego008 2013-05-03 02:05

@superwbd 管理员通过mysql 重设的好方法。
@jat001 尽量不修改数据库表结构,其中一个想法是判断当前密码的长度,若是32 就是原来密码的md5值,则直接通过新加密方法更新数据库,可以无缝接合,前提是新的密文少于32个字符。

0
jat001
jat001 2013-05-03 02:12

@ego008 如何判断?

0
jat001
jat001 2013-05-03 02:13

@ego008 加密后的密码不都是32位的?

0
Login Topics