Quel type de hachage WordPress utilise-t-il?

Réponses:

146

Le hachage de mot de passe WordPress implémente le framework de hachage de mot de passe PHP portable , qui est utilisé dans les systèmes de gestion de contenu tels que WordPress et Drupal.

Ils utilisaient MD5 dans les anciennes versions, mais malheureusement pour moi, pas plus. Vous pouvez générer des hachages à l'aide de ce schéma de chiffrement à l' adresse http://scriptserver.mainframe8.com/wordpress_password_hasher.php .

Neil
la source
12
est-ce que quelqu'un rencontre cette vieille question comme je l'ai fait s'il vous plaît noter que MD5 n'est plus acceptable. si vous avez> PHP 5.5.0, utilisez la nouvelle password_hashfonction. si vous avez seulement> PHP 5.3.7 utilisez la bibliothèque de compatibilité ici github.com/ircmaxell/password_compat
Andrew Brown
14
Je ne sais pas si cela aidera du tout, mais WP prendra toujours le MD5 droit la première fois que vous utiliserez le mot de passe, puis il le «salera». SO, si vous avez accès à la base de données, en utilisant MyPHPAdmin, vous pouvez changer le PW en "MyPass", sélectionnez MD5 dans le menu déroulant "Fonction" et il sera enregistré en tant que MD5 simple. Connectez-vous à Wordpress, et il le changera en version "salée" avec le $ P $ B __ / ajouté.
BillyNair du
Fondamentalement, si l'utilisateur ne s'est PAS connecté avec le PW, il sera toujours au format MD5, il ressemblera à n'importe qui d'autre avec ce même PW. Une fois que vous vous êtes connecté, même avec ce même PW EXACT, il changera en VOTRE propre "sel" personnel, donc vous et votre ami, connectez-vous en même temps avec le même PW, votre "MD5 salé" sera différent. Cela signifie qu'il n'y a aucun moyen d'interroger la base de données pour tester si un PW a été modifié par rapport à la valeur par défaut, car WP le changera en version salée, même si c'était la même que la version par défaut.
BillyNair
@AndrewBrown, je ne suis pas d'accord pour dire que MD5 n'est plus acceptable. C'est peut-être vrai pour la création de la passe à partir du CMS, mais essayez au niveau de la base de données .. cela fonctionne toujours. À ce jour, je perd le mot de passe WP; Je me connecte à phpMyAdmin et génère un hachage MD5 pour les champs de mot de passe dans la table wp_users et cela fonctionne ... Google: réinitialisez manuellement le mot de passe de l'administrateur WordPress .. voir aussi la réponse de johnMetta.
wpcoder
3
@wpcoder MD5 ne pose aucune question, 100% non sécurisé sur le plan cryptographique et inacceptable à utiliser comme méthode de stockage de mots de passe hachés.
Andrew Brown
21
$hash_type$salt$password

Si le hachage n'utilise pas de sel, il n'y a aucun $signe pour cela. Le hachage réel dans votre cas est après le 2ème$

La raison en est que vous pouvez avoir de nombreux types de hachages avec différents sels et alimente cette chaîne dans une fonction qui sait comment la faire correspondre avec une autre valeur.

Ólafur Waage
la source
merci mais je pensais que les hachages md5 devaient être en hexadécimal, comme ceci: b1946ac92492d2347c6235b4d2611184 pourquoi ce hachage a-t-il des caractères AZ et. dedans? est-ce un hachage md5?
Il peut s'agir du type de hachage utilisé. Un hachage est juste une chaîne de taille fixe. Peut contenir tout ce que vous voulez.
Ólafur Waage
@Amanda Kumar. Extrêmement tardif pour ce parti, mais MD5 produit une valeur de 128 bits (16 octets). Cette valeur peut être stockée et représentée de différentes manières, par exemple sous la forme d'une chaîne hexadécimale, d'une chaîne Base64 ou de données brutes dans un fichier. Vous voyez généralement les valeurs MD5 représentées en hexadécimal, mais WordPress utilise plutôt Base64. Votre valeur hexadécimale serait sZRqySSS0jR8YjW00mERhA == en Base64, qui utilise 25% moins de caractères que hexadécimal pour représenter les mêmes données.
jordanbtucker
14

MD5 a travaillé pour moi en changeant ma base de données manuellement. Voir: Réinitialiser votre mot de passe

JohnMetta
la source
1
non ce n'est pas un simple hachage md5, les hachages md5 simples ressemblent à ceci: b1946ac92492d2347c6235b4d2611184 j'ai entendu dire qu'il était basé sur md5, mais quelqu'un peut-il me dire quel type de hachage il utilise et quelle option sélectionner dans passwordspro
24
MD5 fonctionnera s'il est entré manuellement dans la table, mais lors de la première connexion, WP le réécrira en utilisant son propre hachage, il fonctionne donc très bien pour réinitialiser le mot de passe, mais pas plus que cela.
GiladG
1
@FranciscoCorralesMorales - taper le mot de passe tel quel dans la base de données puis sélectionner MD5 dans la liste déroulante fonctionne toujours. Vous pouvez également copier / coller une chaîne cryptée MD5 dans la boîte et ne rien sélectionner et cela fonctionnera (donc, si votre PW est "qwertyuiop" votre ND5 est "6eea9b7ef19179a06954edd0f6c05ceb". Si vous utilisez le mot de passe simple "qwertyuiop", sélectionnez " MD5 ", ou utilisez ce long hachage et ne sélectionnez rien, enregistrez la base de données, puis connectez-vous à WordPress en utilisant" qwertyuiop "et cela fonctionnera)
BillyNair
12

Pour réinitialiser manuellement le mot de passe dans Wordpress DB, un simple hachage MD5 est suffisant. (voir la raison ci-dessous)

Pour éviter de rompre la compatibilité ascendante, les mots de passe hachés MD5 stockés dans la base de données sont toujours valides. Lorsqu'un utilisateur se connecte avec un tel mot de passe, WordPress détecte que MD5 a été utilisé, répète le mot de passe en utilisant la méthode la plus sécurisée et stocke le nouveau hachage dans la base de données.

Source: http://eamann.com/tech/wordpress-password-hashing/

Mise à jour: c'était une réponse publiée en 2014. Je ne sais pas si cela fonctionne toujours pour la dernière version de WP puisque je ne travaille plus avec WP.

JJLL
la source
L'enregistrement d'un hachage MD5 ne fonctionne plus. Source: je viens de l'essayer.
Jay Jee
Je l'ai juste essayé et connecté. Le MD5 a été automatiquement converti en hachage wp. WP version 5.1
Miro
10

J'ai eu le même problème pour savoir quel type de hachage utilise Wordpress.

C'est le mot de passe de hachage wp .

Exemple

Comparez un mot de passe déjà haché avec sa chaîne de texte brut:

<?php
$wp_hasher = new PasswordHash(8, TRUE);

$password_hashed = '$P$B55D6LjfHDkINU5wF.v2BuuzO0/XPk/';
$plain_password = 'test';

if($wp_hasher->CheckPassword($plain_password, $password_hashed)) {
    echo "YES, Matched";
} else {
    echo "No, Wrong Password";
}
?>

Voir ces liens: https://codex.wordpress.org/Function_Reference/wp_hash_password

https://developer.wordpress.org/reference/functions/wp_hash_password

Il utilise PasswordHash, qui ajoute du sel au mot de passe et le hache avec 8 passes de MD5.

Meisam
la source
9

Cela dépend au moins de la version de PHP utilisée. wp-includes/class-phpass.phpcontient toutes les réponses.

innaM
la source
7

La meilleure façon de le faire est d'utiliser la classe WordPress pour authentifier les utilisateurs. Voici mes solutions:

1. Incluez le fichier PHP WordPress suivant:

include_once(dirname(dirname(dirname(__FILE__))) . DIRECTORY_SEPARATOR . "wp-includes" . DIRECTORY_SEPARATOR . "class-phpass.php");

2. Créez un objet de PasswordHashclasse:

$wp_hasher = new PasswordHash(8, true);

3. appelez la CheckPasswordfonction pour authentifier l'utilisateur:

$check = $wp_hasher->CheckPassword($password, $row['user_pass']);

4. vérifier la $checkvariable:

if($check) {
   echo "password is correct";
} else {
   echo "password is incorrect";
}

Veuillez noter que: $passwordest le mot de passe non haché en texte clair, alors que $row['user_pass']c'est le mot de passe haché que vous devez récupérer dans la base de données.

Faisal Shaikh
la source
2
Ce n'est pas clair dans la réponse, mais $ password est la passe non hachée en texte clair, tandis que $ row ['user_pass'] est le mot de passe haché que vous devez récupérer vous-même dans la base de données.
Advait S
5

Démarrez phpMyAdmin et accédez à wp_users depuis votre instance wordpress. Modifiez l'enregistrement et sélectionnez la fonction user_pass pour correspondre à MD5. Écrivez la chaîne qui sera votre nouveau mot de passe dans VALUE. Cliquez, GO. Accédez à votre site WordPress et entrez votre nouveau mot de passe. De retour à phpMyAdmin, vous verrez que WP a changé le HASH en quelque chose comme $ P $ B ... profitez-en!

Ceccoto
la source
a confirmé l'installation de WP 2017 en 2019!
Gerard ONeill
2

Wordpress utilise le hachage de mot de passe MD5 . Crée un hachage d'un mot de passe en texte brut. À moins que le global $ wp_hasher ne soit défini, l'implémentation par défaut utilise PasswordHash, qui ajoute du sel au mot de passe et le hache avec 8 passes de MD5. MD5 est utilisé par défaut car il est pris en charge sur toutes les plates-formes. Vous pouvez configurer PasswordHash pour utiliser Blowfish ou DES étendu (si disponible) au lieu de MD5 avec l'argument ou la propriété du constructeur $ portable_hashes.

J. Shabu
la source
2

include_once ('../../../ wp-config.php');

global $ wpdb;

$ password = wp_hash_password ("votre mot de passe");

Hiran DA Walawage
la source