【问题标题】:How to matched wordpress encrypted passowrd in nodejs?如何在nodejs中匹配wordpress加密密码?
【发布时间】:2017-06-27 03:14:43
【问题描述】:

如何在 nodejs 中从 wordpress 数据库进行用户身份验证?

我需要验证用户密码,其哈希是在 wordpress 链接 wp_hash 中使用 wp_hash_password 创建的

现在,我需要使用 nodejs 验证用户密码。我尝试了许多 nodejs 模块,但都失败了。

【问题讨论】:

  • 我认为您需要创建一个本地 API 并从您的节点应用程序进行调用...
  • 是的,我可以制作本地 API,但这需要时间。我只是想确保我可以在节点端验证它吗?
  • 你可以做到,但你必须使用相同的哈希算法,两边的键相同。你能发布一些代码吗?
  • 我有他们的 php 代码,但由于我对 php 一无所知,但他们的行为类似于 require_once ABSPATH 。 WPINC 。 '/class-phpass.php';\$hasher = new PasswordHash(8, true);\
  • 这是在 db 中保存的盐值,例如 "$2a$08$r7Y1uBH2ku0nAO6.W6aHC.OHeOhJ.AKP.6sKJUunpzkj1wBbjnC7G" for password = "testuser123"

标签: php node.js wordpress password-encryption


【解决方案1】:

我找到了两个库,可以帮助您在节点 js 中实现 phpass 哈希。

phpass:https://www.npmjs.com/package/phpass

wordpress-hash-node: https://www.npmjs.com/package/wordpress-hash-node

【讨论】:

  • 我都试过了。但是他们给了我一个错误的结果。 :(
  • 您能否检查 phpass 生成的哈希与上述库之一生成的哈希之间的区别...这可能是由不同版本的 bcrypt 下面引起的...如果前 6 个字符不同,那么这可以解决
  • “testuser123”在数据库中的散列存储是“$2a$08$r7Y1uBH2ku0nAO6.W6aHC.OHeOhJ.AKP.6sKJUunpzkj1wBbjnC7G”,并且使用 phpass 生成的散列是“$2a$08$4BlGY4Q69PCzYH3qS/BLNOGQzrgrs8BVCau .qy"
  • 将实际密码与哈希匹配: var checked= passwordHash.checkPassword("testuser123",hashSaveindb); console.log("checked::: ",checked);
猜你喜欢
  • 2022-04-14
  • 2013-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-16
相关资源
最近更新 更多