Какой тип хеша использует WordPress?

109

Какой тип хэша использует WordPress?
Вот пример хеша WordPress:

$P $Bp.ZDNMM98mGNxCtHSkc1DqdRPXeoR.

Теги:
hash

11 ответов

107

Хешер паролей WordPress реализует переносимую хеширование PHP PHP, которая используется в системах управления контентом, таких как WordPress и Drupal.

Раньше они использовали MD5 в старых версиях, но, к сожалению, для меня, не более того. Вы можете генерировать хэши, используя эту схему шифрования, в http://scriptserver.mainframe8.com/wordpress_password_hasher.php.

  • 13
    +1 для хэша пароля wp
  • 11
    если кто-то сталкивается с этим старым вопросом, как я, пожалуйста, обратите внимание, что MD5 больше не является приемлемым. если у вас> PHP 5.5.0, используйте новую функцию password_hash . если у вас есть только> PHP 5.3.7, используйте библиотеку совместимости здесь github.com/ircmaxell/password_compat
Показать ещё 9 комментариев
17
$hash_type$salt$password

Если хэш не использует соль, для этого нет знака $. Фактический хэш в вашем случае находится после второго $

Причиной этого является то, что вы можете иметь много типов хэшей с различными солями и кормами, которые строят в функцию, которая знает, как сопоставить ее с каким-то другим значением.

  • 0
    спасибо, но я думал, что хэши md5 должны быть в шестнадцатеричном виде, например: b1946ac92492d2347c6235b4d2611184 почему этот хеш имеет символы AZ и. в этом? это хэш MD5?
  • 0
    Может быть тот тип хэша, который используется. Хэш - это просто строка фиксированного размера. Может содержать все, что вы хотите.
Показать ещё 1 комментарий
11

MD5 работал у меня, меняя мою базу данных вручную. Смотрите: Сброс пароля

  • 1
    нет, это не простой хэш md5, простые хеш-коды md5 выглядят так: b1946ac92492d2347c6235b4d2611184 я слышал, что он основан на md5, но кто-то может сказать мне, какой тип хэша он использует и какую опцию видеть в passwordspro?
  • 20
    MD5 будет работать, если он введен вручную в таблицу, но при первом входе в систему WP перепишет его, используя свой собственный хеш, поэтому он отлично работает для сброса пароля, но не более того.
Показать ещё 2 комментария
9

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

Чтобы предотвратить нарушение обратной совместимости, MD5-хешированные пароли, хранящиеся в базе данных, остаются в силе. Когда пользователь входит в систему с таким паролем, WordPress обнаруживает, что MD5 использовался, перефразирует пароль с использованием более безопасного метода и сохраняет новый хеш в базе данных.

Это означает, что для ручного сброса пароля в Wordpress DB достаточно простого хеша MD5.

  • 0
    Сохранение хеша MD5 больше не работает. Источник: я только что попробовал.
8

Это зависит, по крайней мере, от используемой версии PHP. wp-includes/class-phpass.php содержит все ответы.

4

Запустите phpMyAdmin и получите доступ к wp_users из вашего экземпляра wordpress. Измените запись и выберите функцию user_pass для соответствия MD5. Напишите строку, которая будет вашим новым паролем в VALUE. Нажмите, GO. Перейдите на ваш сайт Wordpress и введите новый пароль. Вернемся к phpMyAdmin, вы увидите, что WP изменил HASH на что-то вроде $P $B... наслаждайтесь!

2

У меня была такая же проблема, когда выяснял, какой тип хэша использует Wordpress.

Это wp hash password.

Пример

Сравните уже хэшированный пароль с его текстовой строкой:

<?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.

2

По умолчанию Wordpress использует MD5. Вы можете обновить его до blowfish или расширенного DES.

http://frameworkgeek.com/support/what-hash-does-wordpress-use/

1

Лучший способ сделать это - использовать класс 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";
}
  • 2
    В ответе непонятно, но $ password - это незашифрованный проход в виде открытого текста, тогда как $ row ['user_pass'] - это хешированный пароль, который вам нужно получить из базы данных самостоятельно.
  • 0
    лучший ответ, спасибо
1

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

global $wpdb;

$password = wp_hash_password ( "ваш пароль" );

1

Wordpress использует хеширование паролей MD5. Создает хэш обычного текстового пароля. Если глобальный $wp_hasher не установлен, реализация по умолчанию использует PasswordHash, который добавляет соль к паролю и хэширует его с 8 проходами MD5. MD5 используется по умолчанию, потому что он поддерживается на всех платформах. Вы можете настроить PasswordHash для использования Blowfish или расширенного DES (если доступно) вместо MD5 с аргументом или свойством конструктора $portable_hash.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню