Ответы:
В хеше паролей WordPress реализована платформа хэширования переносимых паролей PHP , которая используется в таких системах управления контентом, как WordPress и Drupal.
Раньше они использовали MD5 в старых версиях, но, к сожалению для меня, не более. Вы можете создавать хэши, используя эту схему шифрования по адресу http://scriptserver.mainframe8.com/wordpress_password_hasher.php .
password_hash
функцию. если у вас есть только> PHP 5.3.7, используйте библиотеку совместимости здесь github.com/ircmaxell/password_compat
$hash_type$salt$password
Если в хэше не используется соль, то для этого нет никаких $
признаков. Фактический хеш в вашем случае после 2-го$
Причина этого в том, что у вас может быть много типов хэшей с различными солями и потоками, которые передают эту строку в функцию, которая знает, как сопоставить ее с некоторым другим значением.
MD5 помог мне изменить базу данных вручную. Смотрите: Сброс пароля
Для ручного сброса пароля в Wordpress DB достаточно простого хеша MD5. (см. причину ниже)
Во избежание нарушения обратной совместимости пароли, хешированные в MD5, хранящиеся в базе данных, остаются действительными. Когда пользователь входит в систему с таким паролем, WordPress обнаруживает, что использовался MD5, перефразирует пароль более безопасным способом и сохраняет новый хэш в базе данных.
Источник: http://eamann.com/tech/wordpress-password-hashing/
Обновление: это был ответ, опубликованный в 2014 году. Я не знаю, работает ли он для последней версии WP, так как я больше не работаю с WP.
У меня была такая же проблема, выясняя, какой хэш использует Wordpress.
Это хэш-пароль wp .
пример
Сравните уже хешированный пароль с его строкой в виде простого текста:
<?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";
}
?>
Смотрите эти ссылки: https://codex.wordpress.org/Function_Reference/wp_hash_password
https://developer.wordpress.org/reference/functions/wp_hash_password
Он использует PasswordHash, который добавляет соль к паролю и хэширует его с 8 проходами MD5.
Лучший способ сделать это - использовать класс WordPress для аутентификации пользователей. Вот мои решения:
1. Включите следующий PHP-файл WordPress:
include_once(dirname(dirname(dirname(__FILE__))) . DIRECTORY_SEPARATOR . "wp-includes" . DIRECTORY_SEPARATOR . "class-phpass.php");
2. Создайте объект PasswordHash
класса:
$wp_hasher = new PasswordHash(8, true);
3. вызвать CheckPassword
функцию для аутентификации пользователя:
$check = $wp_hasher->CheckPassword($password, $row['user_pass']);
4. проверьте $check
переменную:
if($check) {
echo "password is correct";
} else {
echo "password is incorrect";
}
Обратите внимание, что: $password
это хешированный пароль в открытом тексте, а $row['user_pass']
хешированный пароль, который вам нужно получить из базы данных.
Запустите phpMyAdmin и получите доступ к wp_users из вашего экземпляра WordPress. Отредактируйте запись и выберите функцию user_pass для соответствия MD5. Напишите строку, которая будет вашим новым паролем, в VALUE. Нажмите, GO. Перейдите на ваш сайт WordPress и введите новый пароль. Возвращаясь к phpMyAdmin, вы увидите, что WP изменил HASH на что-то вроде $ P $ B ... наслаждайтесь!
Wordpress использует хеширование паролей MD5 . Создает хэш простого текстового пароля. Если не установлен глобальный $ wp_hasher, реализация по умолчанию использует PasswordHash, который добавляет соль к паролю и хэширует его с 8 проходами MD5. MD5 используется по умолчанию, потому что он поддерживается на всех платформах. Вы можете настроить PasswordHash на использование Blowfish или расширенного DES (если доступно) вместо MD5 с аргументом или свойством конструктора $ portable_hashes.
include_once ( '../../../ WP-config.php');
глобальный $ wpdb;
$ password = wp_hash_password ("ваш пароль");
По умолчанию WordPress использует MD5. Вы можете обновить его до Blowfish или расширенный DES.
http://frameworkgeek.com/support/what-hash-does-wordpress-use/