Respostas:
O hasher de senha do WordPress implementa a estrutura de hash de senha PHP portátil , usada em sistemas de gerenciamento de conteúdo como WordPress e Drupal.
Eles costumavam usar o MD5 nas versões mais antigas, mas infelizmente para mim, não mais. Você pode gerar hashes usando esse esquema de criptografia em http://scriptserver.mainframe8.com/wordpress_password_hasher.php .
password_hash
função. se você tiver apenas o PHP 5.3.7, use a biblioteca de compatibilidade aqui github.com/ircmaxell/password_compat
$hash_type$salt$password
Se o hash não usar sal, não há $
sinal para isso. O hash real no seu caso é após o segundo$
A razão para isso é que você pode ter muitos tipos de hashes com diferentes sais e alimentar essa string em uma função que sabe como combiná-la com algum outro valor.
O MD5 trabalhou para mim alterando meu banco de dados manualmente. Consulte: Redefinindo sua senha
Para redefinir manualmente a senha no Wordpress DB, basta um hash MD5 simples. (veja o motivo abaixo)
Para evitar a quebra de compatibilidade, as senhas com hash MD5 armazenadas no banco de dados ainda são válidas. Quando um usuário faz login com essa senha, o WordPress detecta que o MD5 foi usado, repassa a senha usando o método mais seguro e armazena o novo hash no banco de dados.
Fonte: http://eamann.com/tech/wordpress-password-hashing/
Atualização: esta foi uma resposta publicada em 2014. Não sei se ainda funciona para a versão mais recente do WP, pois não trabalho mais com o WP.
Eu tive o mesmo problema para descobrir que tipo de Hash o Wordpress usa.
É a senha de hash wp .
Exemplo
Compare uma senha já com hash com sua sequência de texto sem formatação:
<?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";
}
?>
Consulte estes links: https://codex.wordpress.org/Function_Reference/wp_hash_password
https://developer.wordpress.org/reference/functions/wp_hash_password
Ele usa o PasswordHash, que adiciona sal à senha e a mistura com 8 passagens de MD5.
A melhor maneira de fazer isso é usar a classe WordPress para autenticar usuários. Aqui estão as minhas soluções:
1. Inclua o seguinte arquivo PHP do WordPress:
include_once(dirname(dirname(dirname(__FILE__))) . DIRECTORY_SEPARATOR . "wp-includes" . DIRECTORY_SEPARATOR . "class-phpass.php");
2. Crie um objeto da PasswordHash
classe:
$wp_hasher = new PasswordHash(8, true);
3. chamar a CheckPassword
função para autenticar o usuário:
$check = $wp_hasher->CheckPassword($password, $row['user_pass']);
4. verifique a $check
variável:
if($check) {
echo "password is correct";
} else {
echo "password is incorrect";
}
Observe que: $password
é a senha sem hash em texto não criptografado $row['user_pass']
e a senha com hash que você precisa buscar no banco de dados.
Inicie o phpMyAdmin e acesse wp_users na sua instância do wordpress. Edite o registro e selecione a função user_pass para corresponder ao MD5. Escreva a string que será sua nova senha em VALUE. Clique em Ir. Vá para o seu site wordpress e digite sua nova senha. De volta ao phpMyAdmin, você verá que o WP mudou o HASH para algo como $ P $ B ... divirta-se!
Wordpress usa hash de senha MD5 . Cria um hash de uma senha de texto sem formatação. A menos que o $ wp_hasher global esteja definido, a implementação padrão usa o PasswordHash, que adiciona salt à senha e a mistura com 8 passagens de MD5. O MD5 é usado por padrão porque é suportado em todas as plataformas. Você pode configurar o PasswordHash para usar Blowfish ou DES estendido (se disponível) em vez do MD5 com o argumento ou a propriedade do construtor $ portable_hashes.
include_once ('../../../ wp-config.php');
global $ wpdb;
$ password = wp_hash_password ("sua senha");
Por padrão, o wordpress usa MD5. Você pode atualizá-lo para blowfish ou DES estendido.
http://frameworkgeek.com/support/what-hash-does-wordpress-use/