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

jat001 at 2013-05-02 18:00:35
1

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

司博文 at 2013-05-02 18:03:44
2

@jat001

thank you !

司博文 at 2013-05-02 18:05:37
3

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

jat001 at 2013-05-02 18:13:07
4

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

ego008 at 2013-05-02 21:00:04
6

@ego008

貌似还有一种思路:

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

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

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

superwbd at 2013-05-03 04:40:40
7

@superwbd

@ego008

discuz 是两层 MD5 并加盐,wordpress 则更复杂。
我的想法是:
在数据库中新增两列 new_passwd 和 salt,用户登录时判断是否存在 new_passwd 和 salt,不存在验证

password,登录后强制要求用户修改密码。在几个版本后,用 new_passwd 替换 password。salt 可以用用户的注册时间,也可以像 discuz 那样随机产生并写进数据库,wordpress 则是用户指定。

jat001 at 2013-05-03 09:17:27
8

@superwbd 管理员通过mysql 重设的好方法。

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

ego008 at 2013-05-03 10:05:04
9

@ego008 如何判断?

jat001 at 2013-05-03 10:12:12
10

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

jat001 at 2013-05-03 10:13:26
11
登录 后发表评论