对于Wordpress 4.9.5,在NodeJS之后
npm i wordpress-hash-node
var hasher = require('wordpress-hash-node'); let wordpressHashPass = "$P$BzPE3JGpq4CUpvpMHhtPh3lZmIoG.s1"; let wordpressPlainTextPass = '(&@fZsImcKq7K3Lmd&qBe!Jx'; var checked = hasher.CheckPassword(wordpressPlainTextPass, wordpressHashPass); //This will return true console.log(checked); // returns true var hasher = require('wordpress-hash-node'); let wordpressHashPass = "$P$BzPE3JGpq4CUpvpMHhtPh3lZmIoG.s1"; let wordpressPlainTextPass = 'goodday'; var checked = hasher.CheckPassword(wordpressPlainTextPass, wordpressHashPass); //This will return false console.log(checked); // returns false
wordpressHashPass是MD5哈希密码,您可以在Wordpress的wp_users表中找到该用户的密码。
wordpressPlainTextPass是用户在密码字段中键入的纯文本密码。
CheckPassword方法比较明文密码和哈希密码。如果它重合则返回true,如果不重合则返回false。
的 编辑: 强> 今天有一个支持Wordpress便携式哈希的实现: WordPress的哈希节点 。
的 上一个回复: 强>
叹了口气......我对此感兴趣,并花了半个小时倾注PHPass源代码。然后我google了 节点phpass 。
的 编辑: 强> 仔细观察,这似乎只实现了bcrypt加密,而PHPass默认(我认为Wordpress使用)是他们称之为“便携式哈希”的东西。 node-phpass 投 'Portable hashes are not implemented' 当你要求便携式哈希时。我建议你实现 node-phpass 并发送拉取请求。
node-phpass
'Portable hashes are not implemented'