2010-01-16 9 views
4

J'ai besoin d'intégrer un système Django avec un site Wordpress, car les utilisateurs wordpress devraient pouvoir se connecter à la partie DJnago et vice versa,Comment fonctionne le mot de passe wordpress?

Pour cela, je dois comprendre comment fonctionne le hachage du mot de passe dans Wordpress. Je peux voir la table wp_users qui stocke les hashes de nom d'utilisateur et de mot de passe.

En regardant à travers le code wordpress, je peux voir le mot de passe est défini via wp_set_password, qui utilise hash_password pour hacher le mot de passe.

Maintenant, je ne connais pas assez PHP pour comprendre comment cela fonctionne. J'ai besoin de répliquer la même chose en python pour pouvoir valider le mot de passe de la partie Django.

Répondre

7

Il y a un commentaire dans le dicton de mise en œuvre:

28 /** 
    29 * Portable PHP password hashing framework. 
    30 * 
    31 * @package phpass 
    32 * @version 0.1/genuine 
    33 * @link http://www.openwall.com/phpass/ 
    34 * @since 2.5 
    35 */ 

Le cadre de hachage utilisé est phpass, et ses liens de page à une implémentation de Python. Here's the link (.tar.gz). Cette page contient d'autres liens utiles (comme une implémentation Perl).

+0

Le checkpassword utilise 'Settings' de $, (je suppose obtenir le réglage à sel avec?) N'ai-je pas besoin de cela pour valider le mot de passe? – agiliq

+0

Vous aurez besoin de la même entrée (comme le sel) à l'algorithme, à partir des mêmes endroits, oui. Mais ce lien implémente l'algorithme "vanilla". –

2

Juste à ajouter, ce qui suit est un extrait de commentaire de Wordpress 3.1 "s \ wp-includes \ pluggable.php":

/** 
* For integration with other applications, this function can be overwritten to 
* instead use the other package password checking algorithm. 
*/ 
Questions connexes