Câu trả lời:
Mật khẩu WordPress đã thực hiện khung băm mật khẩu PHP di động , được sử dụng trong Hệ thống quản lý nội dung như WordPress và Drupal.
Họ đã từng sử dụng MD5 trong các phiên bản cũ hơn, nhưng thật đáng buồn cho tôi, không còn nữa. Bạn có thể tạo băm bằng cách sử dụng lược đồ mã hóa này tại http://scriptserver.mainframe8.com/wordpress_password_hasher.php .
password_hash
hàm mới . nếu bạn chỉ có> PHP 5.3.7, hãy sử dụng thư viện tương thích tại đây github.com/ircmaxell/password_compat
$hash_type$salt$password
Nếu hàm băm không sử dụng muối, thì không có $
dấu hiệu nào cho điều đó. Băm thực tế trong trường hợp của bạn là sau lần thứ 2$
Lý do cho điều này là, vì vậy bạn có thể có nhiều loại băm với các loại muối khác nhau và cung cấp chuỗi đó thành một hàm biết cách khớp nó với một số giá trị khác.
MD5 làm việc cho tôi thay đổi cơ sở dữ liệu của tôi bằng tay. Xem: Đặt lại mật khẩu của bạn
Để đặt lại mật khẩu theo cách thủ công trong Wordpress DB, hàm băm MD5 đơn giản là đủ. (xem lý do bên dưới)
Để ngăn chặn khả năng tương thích ngược, mật khẩu băm MD5 được lưu trữ trong cơ sở dữ liệu vẫn hợp lệ. Khi người dùng đăng nhập bằng mật khẩu như vậy, WordPress phát hiện MD5 đã được sử dụng, kiểm tra lại mật khẩu bằng phương pháp an toàn hơn và lưu trữ hàm băm mới trong cơ sở dữ liệu.
Nguồn: http://eamann.com/tech/wordpress-password-hashing/
Cập nhật: đây là câu trả lời được đăng vào năm 2014. Tôi không biết liệu nó có còn hoạt động cho phiên bản WP mới nhất hay không vì tôi không làm việc với WP nữa.
Tôi gặp vấn đề tương tự khi tìm hiểu loại Hash nào mà Wordpress sử dụng.
Đó là mật khẩu băm wp .
Thí dụ
So sánh mật khẩu đã được băm với chuỗi văn bản đơn giản của nó:
<?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";
}
?>
Xem các liên kết sau: https://codex.wordpress.org/Function_Reference/wp_hash_password
https://developer.wordpress.org/reference/fifts/wp_hash_password
Nó sử dụng PasswordHash, thêm muối vào mật khẩu và băm nó với 8 lượt MD5.
Cách tốt nhất để làm điều này là sử dụng lớp WordPress để xác thực người dùng. Đây là giải pháp của tôi:
1. Bao gồm tệp WordPress PHP sau:
include_once(dirname(dirname(dirname(__FILE__))) . DIRECTORY_SEPARATOR . "wp-includes" . DIRECTORY_SEPARATOR . "class-phpass.php");
2. Tạo một đối tượng của PasswordHash
lớp:
$wp_hasher = new PasswordHash(8, true);
3. CheckPassword
chức năng gọi để xác thực người dùng:
$check = $wp_hasher->CheckPassword($password, $row['user_pass']);
4. kiểm tra $check
biến:
if($check) {
echo "password is correct";
} else {
echo "password is incorrect";
}
Xin lưu ý rằng: $password
là mật khẩu chưa được băm trong văn bản rõ ràng trong khi đó $row['user_pass']
là mật khẩu được băm mà bạn cần tìm nạp từ cơ sở dữ liệu.
Bắt đầu phpMyAdmin và truy cập wp_users từ ví dụ wordpress của bạn. Chỉnh sửa bản ghi và chọn chức năng user_pass để khớp với MD5. Viết chuỗi sẽ là mật khẩu mới của bạn trong GIÁ TRỊ. Nhấp, ĐI. Đến trang web wordpress của bạn và nhập mật khẩu mới của bạn. Quay lại với phpMyAdmin, bạn sẽ thấy WP đã thay đổi HASH thành một cái gì đó như $ P $ B ... hãy tận hưởng!
Wordpress sử dụng băm mật khẩu MD5 . Tạo một hàm băm của một mật khẩu văn bản đơn giản. Trừ khi toàn cầu $ wp_hasher được thiết lập, việc triển khai mặc định sử dụng PasswordHash, thêm muối vào mật khẩu và băm nó với 8 lần truyền MD5. MD5 được sử dụng theo mặc định vì nó được hỗ trợ trên tất cả các nền tảng. Bạn có thể định cấu hình PasswordHash để sử dụng Blowfish hoặc mở rộng DES (nếu có) thay vì MD5 với đối số hoặc thuộc tính của hàm tạo $ Portable_hashes.
bao gồm_once ('../../../ wp-config.php');
$ wpdb toàn cầu;
$ password = wp_hash_password ("mật khẩu của bạn");
Theo mặc định, wordpress sử dụng MD5. Bạn có thể nâng cấp nó lên blowfish hoặc mở rộng DES.
http://frameworkgeek.com/support/what-hash-does-wordpress-use/