返回列表 发帖
查看: 799|回复: 2

[已解决] 我在用nodejs开发网站对接 UCenter,密码加密的哈希值始终和Ucenter的不一样

1

主题

2

回帖

8

积分

初学乍练

贡献
0 点
金币
5 个
发表于 2023-3-18 19:49:19 | 显示全部楼层 |阅读模式
我只有一个金币,非常抱歉。


各位大佬,请教你们个问题,先谢谢

我在用nodejs开发网站对接 UCenter,密码加密的哈希值始终和Ucenter的不一样,

我用nodejs把密码转哈希值,与数据库里存的哈希值对比,始终是不一致的,所以不知道问题出在哪儿了

我先是用的md5加密对比,然后是用的哈希值对比,都没成功

网上也看了好多资料。请问你们谁知道问题出在哪里?大概反向指出即可。感谢不尽


我甚至去问了chatgpt,就是我写的那种实现方式


在群里问了大神们,也没有回复,只是告诉我 X3.5加密方式变了,

在这里真心求助 ucenter 1.7加密方式 和 discuz3.5的密码加密方式 ,感谢各位!
1 贡献+1 金币

最佳答案

其他语言对接UCenter最好使用接口对接,而不是自己实现一套方法直接读写UC数据库,那样的话太容易出问题了。
接口的具体实现方法,直接参考uc_client/client.php这个文件里面对应的函数就行,整体逻辑不算困难。

如果一定要直接操作密码hash的话,可以告诉你的是X3.5开始使用bcrypt算法作为默认密码算法,绝大多数语言都有关于此算法的实现可以直接调用。
但X3.5并非一定使用bcrypt,目前后台可以配置选用argon2i等其他算法。如果想做成通用方案需要考虑这一点。
回复

使用道具 举报

18

主题

4031

回帖

7398

积分

应用开发者

贡献
363 点
金币
1397 个
QQ
发表于 2023-3-18 20:02:50 | 显示全部楼层
X3.5用的是PHP自带的password加密
回复 支持 反对

使用道具 举报

12

主题

1608

回帖

2717

积分

Giter

贡献
143 点
金币
353 个
发表于 2023-3-18 23:00:07 | 显示全部楼层
其他语言对接UCenter最好使用接口对接,而不是自己实现一套方法直接读写UC数据库,那样的话太容易出问题了。
接口的具体实现方法,直接参考uc_client/client.php这个文件里面对应的函数就行,整体逻辑不算困难。

如果一定要直接操作密码hash的话,可以告诉你的是X3.5开始使用bcrypt算法作为默认密码算法,绝大多数语言都有关于此算法的实现可以直接调用。
但X3.5并非一定使用bcrypt,目前后台可以配置选用argon2i等其他算法。如果想做成通用方案需要考虑这一点。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2024-5-19 00:46 , Processed in 0.048644 second(s), 8 queries , Redis On.

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2024 Discuz! Team.

关灯 在本版发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表