Пароль WordPress MD5

Мне нужно вставить пользователей в блог 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 ожидает?

Related of "Пароль WordPress MD5"

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

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

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

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

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

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

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

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

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