WordPress-Passwortverschlüsselung in NodeJS

Lesezeit: 2 Minuten

So führen Sie die Benutzerauthentifizierung aus der WordPress-Datenbank in nodeJS durch.

Ich muss den Benutzer mithilfe der WordPress-Datenbank validieren, wenn Benutzername/Passwort korrekt sind. WordPress verwendet die PHPass PHP-Bibliothek, um Passwörter zu verschlüsseln. Aber ich muss das Passwort in NodeJS abgleichen.

Benutzer-Avatar
Linus Thiel

Bearbeiten: Heute gibt es eine Implementierung, die WordPress-Portable-Hashes unterstützt: WordPress-Hash-Knoten.

Vorherige Antwort:

Seufz … Ich habe mich dafür interessiert und eine halbe Stunde damit verbracht, den PHPass-Quellcode zu durchforsten. Dann habe ich gegoogelt Knoten-Phpass.

Bearbeiten: Bei näherer Betrachtung scheint dies nur die bcrypt-Verschlüsselung zu implementieren, während der PHPass-Standard (den ich glaube, WordPress verwendet) etwas ist, das sie “Portable Hashes” nennen. node-phpass wirft 'Portable hashes are not implemented' wenn Sie nach tragbaren Hashes fragen. Ich schlage vor, Sie implementieren das für node-phpass und einen Pull-Request senden.

  • Haben Sie endlich einen Weg gefunden, dies gegen die portable Hashing-Implementierung von PHPass zu tun?

    – kolexinfos

    8. Februar 2016 um 20:34 Uhr

  • Ich habe es gegoogelt, weil Sie @kolexinfos gefragt haben. Bearbeitet, siehe oben.

    – Linus Thiel

    9. Februar 2016 um 7:59 Uhr

  • Leider scheint dies nicht das gleiche Hash-Passwort in Joomla zu generieren, da ich eine Joomla-Benutzerbasis zu einer eigenständigen Anwendung migrieren möchte

    – kolexinfos

    9. Februar 2016 um 21:06 Uhr

Für WordPress 4.9.5, in NodeJS danach

npm i WordPress-Hash-Knoten

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 ist das MD5-gehashte Passwort, das Sie in der wp_users-Tabelle von WordPress für einen Benutzer finden können.

wordpressPlainTextPass ist das Klartextpasswort, das der Benutzer in das Passwortfeld eingibt.

Die Methode CheckPassword vergleicht das Klartext-Passwort und das Hash-Passwort. Es gibt true zurück, wenn es übereinstimmt, und false, wenn es nicht übereinstimmt.

1371960cookie-checkWordPress-Passwortverschlüsselung in NodeJS

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy