Discuz!小编 发表于 2024-12-19 19:35:26

x3.5的密码是怎么组成的?不是md5+saltl 么

x3.5的密码是怎么组成的?不是md5+saltl 么

海军大都督 发表于 2024-12-19 19:35:33

使用php内置函数 password_hash() ,即可获得兼容Discuz系统的新密码。新密码的hash是一体的一个字符串,没有单独的salt,因此salt字段留空即可。

如果你想使用其他编程语言生成兼容Discuz系统的密码:请自行查询所使用语言的相关算法实现。由于Discuz采用的标准符合国际通用的密码存储最佳实践,因此跟标准的实现大多都是兼容的。
默认算法:bcrypt,也可以查询blowfish,也是它。
高版本php用户可选使用更安全的argon2i算法,但就不能再降级php了。

瑾瑜 发表于 2024-12-19 19:36:27

再加passwordhash吧

Sylvia 发表于 2024-12-19 19:36:54

X3.5已变更为更强大安全的PHP自带的密码散列算法,此算法为当前通用的密码加密方法,相对MD5更加安全

Sylvia 发表于 2024-12-19 19:37:06

请教下如果忘记了密码 怎么解密呢?

瑾瑜 发表于 2024-12-19 19:37:19

不能解密,即便是原来的md5也无法解密的啊

瑾瑜 发表于 2024-12-19 19:38:18

比如原来的密码可以用md5(md5($pass) . $salt])来获取 现在的怎么获取呢?

Sylvia 发表于 2024-12-19 19:38:33

比如原来的密码可以用md5(md5($pass) . $salt)来获取 现在的怎么获取呢?

KarlMock59 发表于 2024-12-19 19:38:58

顺带一提,如果你实在就是做不到用新方法手动生成密码的话,这个是不强求的。
因为Discuz即便引入了新的更安全的密码保存规则,并不代表就直接放弃了对旧存储规则的兼容。
由于必须知道密码原文才有可能将其重新编码成新规则,对老规则的兼容还将持续存在很长很长的一段时间,否则老用户就没法登录了。
这意味着哪怕你依旧采用老方法在数据库里强行重置用户的密码,也是没问题的,只是会让系统多重置一次。

杰克 发表于 2024-12-19 19:39:44

好的 感谢 已经解决
页: [1]
查看完整版本: x3.5的密码是怎么组成的?不是md5+saltl 么