Odpowiedzi:
Skrót haseł WordPress implementuje przenośną strukturę haszowania haseł PHP , która jest używana w systemach zarządzania treścią, takich jak WordPress i Drupal.
W starszych wersjach używali MD5, ale niestety już nie. Możesz generować skróty za pomocą tego schematu szyfrowania pod adresem http://scriptserver.mainframe8.com/wordpress_password_hasher.php .
password_hash
funkcji. jeśli masz tylko> PHP 5.3.7, użyj biblioteki kompatybilności tutaj github.com/ircmaxell/password_compat
$hash_type$salt$password
Jeśli haszysz nie zawiera soli, nie ma na to $
oznak. Rzeczywisty hash w twoim przypadku jest po 2$
Powodem tego jest to, że możesz mieć wiele typów skrótów z różnymi solami i podawać ciągi do funkcji, która wie, jak dopasować ją do innej wartości.
MD5 pracował dla mnie ręcznie zmieniając moją bazę danych. Zobacz: Resetowanie hasła
Do ręcznego resetowania hasła w bazie danych Wordpress wystarczy prosty skrót MD5. (patrz powód poniżej)
Aby zapobiec zerwaniu wstecznej kompatybilności, hasła zaszyfrowane MD5 przechowywane w bazie danych są nadal ważne. Kiedy użytkownik loguje się przy użyciu takiego hasła, WordPress wykrywa użycie MD5, zmienia hasło przy użyciu bezpieczniejszej metody i przechowuje nowy skrót w bazie danych.
Źródło: http://eamann.com/tech/wordpress-password-hashing/
Aktualizacja: to była odpowiedź opublikowana w 2014 roku. Nie wiem, czy nadal działa z najnowszą wersją WP, ponieważ nie pracuję już z WP.
Miałem ten sam problem, aby dowiedzieć się, jakiego rodzaju skrótu używa Wordpress.
Jest to hasło skrótu wp .
Przykład
Porównaj już zaszyfrowane hasło z jego zwykłym ciągiem tekstowym:
<?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";
}
?>
Zobacz te linki: https://codex.wordpress.org/Function_Reference/wp_hash_password
https://developer.wordpress.org/reference/functions/wp_hash_password
Używa PasswordHash, który dodaje soli do hasła i haszuje je 8 przebiegami MD5.
Najlepszym sposobem na to jest użycie klasy WordPress do uwierzytelniania użytkowników. Oto moje rozwiązania:
1. Dołącz następujący plik PHP WordPress:
include_once(dirname(dirname(dirname(__FILE__))) . DIRECTORY_SEPARATOR . "wp-includes" . DIRECTORY_SEPARATOR . "class-phpass.php");
2. Utwórz obiekt PasswordHash
klasy:
$wp_hasher = new PasswordHash(8, true);
3. wywołanie CheckPassword
funkcji uwierzytelniania użytkownika:
$check = $wp_hasher->CheckPassword($password, $row['user_pass']);
4. sprawdź $check
zmienną:
if($check) {
echo "password is correct";
} else {
echo "password is incorrect";
}
Zwróć uwagę, że: $password
to niezaszyfrowane hasło w postaci zwykłego tekstu, podczas gdy $row['user_pass']
jest to zaszyfrowane hasło, które musisz pobrać z bazy danych.
Uruchom phpMyAdmin i uzyskaj dostęp do wp_users ze swojej instancji wordpress. Edytuj rekord i wybierz funkcję user_pass, aby pasowała do MD5. Wpisz ciąg, który będzie Twoim nowym hasłem w VALUE. Kliknij, GO. Przejdź do witryny Wordpress i wprowadź nowe hasło. Wracając do phpMyAdmin, zobaczysz, że WP zmienił HASH na coś takiego jak $ P $ B ... baw się dobrze!
Wordpress używa haszowania hasła MD5 . Tworzy skrót hasła w postaci zwykłego tekstu. O ile globalny $ wp_hasher nie jest ustawiony, domyślna implementacja używa PasswordHash, który dodaje sól do hasła i haszuje je za pomocą 8 przebiegów MD5. MD5 jest używane domyślnie, ponieważ jest obsługiwane na wszystkich platformach. Możesz skonfigurować PasswordHash tak, aby używał Blowfish lub rozszerzonego DES (jeśli jest dostępny) zamiast MD5 z argumentem lub właściwością konstruktora $ portable_hashes.
include_once ('../../../ wp-config.php');
globalna $ wpdb;
$ password = wp_hash_password ("twoje hasło");
Domyślnie WordPress używa MD5. Możesz go ulepszyć do Blowfish lub rozszerzonego DES.
http://frameworkgeek.com/support/what-hash-does-wordpress-use/