Wordpress MD5 Пароль - PullRequest
       10

Wordpress MD5 Пароль

4 голосов
/ 20 января 2011

Мне нужно вставить пользователей в блог Wordpress через скрипт PHP или MySQL, и у меня есть простой текстовый пароль.Я думал, что смогу сделать что-то вроде этого:

$query = "INSERT INTO $new_db.wp_users (user_login, user_pass, user_nicename)
select user_email, md5(user_password), user_name from $source_db.users";

Но пароли все выглядят иначе, чем пароли Wordpress сейчас.Все пароли начинаются с $P$B

После прочтения говорится, что есть соль ... есть ли способ взять пароль наподобие test123 и превратить его в зашифрованный пароль, который ожидает Wordpress?

Ответы [ 5 ]

5 голосов
/ 20 января 2011

Наиболее разумным решением было бы просто использовать соответствующую функцию WordPress ( wp_generate_password ).

Однако, если это не вариант, вы можете просто извлечь функцию wp_generate_password (она находится в /wp-includes/pluggable.php) и соответствующие функции поддержки.

1 голос
/ 28 июля 2012

Самый простой способ создать пароль - это ...

  1. для использования любого мусора в качестве записи в таблице MySQL для user_pass, но правильный адрес электронной почты.
  2. Используйте функцию «забыл пароль» на панели входа в систему, чтобы сгенерировать правильный пароль (или активировать эту ссылку автоматически, чтобы уведомить пользователя).

Не забудьте скопировать «wp_capabilities» и «wp_user_level» из другой учетной записи.

1 голос
/ 20 января 2011

Wordpress использует phpass хеширование, которое отличается от MD5.

0 голосов
/ 27 мая 2018

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

0 голосов
/ 20 января 2011

Эта функция будет делать то, что вы описали для преобразования пароля:

<?
function encrypt_for_wordpress($plain_text_password) {
    return md5("\$P\$B" . $plain_text_password);
}

Вам нужно будет выбрать его из source_db, преобразовать его в PHP, а затем вставить в new_db.

...