Jenis hash apa yang digunakan WordPress?

Jawaban:

146

WordPress password hasher mengimplementasikan kerangka kerja kata sandi PHP Portable , yang digunakan dalam Sistem Manajemen Konten seperti WordPress dan Drupal.

Mereka dulu menggunakan MD5 di versi yang lebih lama, tetapi sayangnya bagi saya, tidak ada lagi. Anda dapat menghasilkan hash menggunakan skema enkripsi ini di http://scriptserver.mainframe8.com/wordpress_password_hasher.php .

Neil
sumber
12
adalah seseorang menemukan pertanyaan lama ini seperti yang saya lakukan harap dicatat bahwa MD5 tidak lagi dapat diterima. jika Anda memiliki> PHP 5.5.0 gunakan password_hashfungsi baru . jika Anda hanya memiliki> PHP 5.3.7 gunakan perpustakaan kompatibilitas di sini github.com/ircmaxell/password_compat
Andrew Brown
14
Saya tidak tahu apakah ini akan membantu sama sekali, tetapi WP akan tetap menggunakan MD5 langsung saat pertama kali Anda menggunakan kata sandi, maka itu akan "memberi garam" padanya. SO, jika Anda memiliki akses ke DB, menggunakan MyPHPAdmin Anda dapat mengubah PW menjadi "MyPass", pilih MD5 di dropdown "Function" dan itu akan disimpan sebagai MD5 langsung. Masuk ke Wordpress, dan itu akan mengubahnya ke versi "asin" dengan $ P $ B __ / ditambahkan.
BillyNair
Pada dasarnya, jika pengguna TIDAK masuk dengan PW, itu masih akan dalam format MD5, itu akan terlihat sama seperti orang lain dengan PW yang sama. Setelah Anda masuk, bahkan dengan PW SAMA TEPAT itu, itu akan berubah menjadi "garam" ANDA sendiri, jadi Anda dan teman Anda, masuk bersamaan dengan PW yang sama, "MD5 asin" Anda akan terlihat berbeda. Artinya, tidak ada cara untuk meminta DB untuk menguji apakah PW telah diubah dari default, karena WP akan mengubahnya ke versi asin, bahkan jika itu sama dengan default.
BillyNair
@AndrewBrown, saya tidak setuju bahwa MD5 tidak lagi dapat diterima. Mungkin benar untuk membuat pass dari CMS, tetapi coba pada DB Level..itu masih berfungsi. Sampai saat ini saya kehilangan kata sandi WP; Saya masuk ke phpMyAdmin dan menghasilkan hash MD5 untuk bidang kata sandi di tabel wp_users dan berfungsi ... Google: secara manual mengatur ulang kata sandi administrator WordPress .. lihat juga jawaban johnMetta.
wpcoder
3
@wpcoder MD5 tidak ada pertanyaan, 100% tidak aman secara kriptografis, dan tidak dapat diterima untuk digunakan sebagai metode penyimpanan kata sandi hash.
Andrew Brown
21
$hash_type$salt$password

Jika hash tidak menggunakan garam, maka tidak ada $tanda untuk itu. Hash yang sebenarnya dalam kasus Anda adalah setelah tanggal 2$

Alasannya adalah, jadi Anda dapat memiliki banyak jenis hash dengan garam dan umpan yang berbeda ke dalam suatu fungsi yang tahu bagaimana cara mencocokkannya dengan nilai lain.

Ólafur Waage
sumber
terima kasih tetapi saya pikir hash md5 harus dalam hex, seperti ini: b1946ac92492d2347c6235b4d2611184 mengapa hash ini memiliki karakter AZ dan. di dalamnya? apakah ini hash md5?
Bisa jadi tipe hash yang digunakan. Hash hanyalah string ukuran tetap. Dapat berisi apa pun yang Anda inginkan.
Ólafur Waage
@Amanda Kumar. Sangat terlambat ke pesta ini, tetapi MD5 menghasilkan nilai 128-bit (16-byte). Nilai itu dapat disimpan dan direpresentasikan dengan cara yang berbeda, misalnya sebagai string hex, string Base64, atau data mentah dalam file. Anda biasanya melihat nilai MD5 diwakili dalam hex, namun WordPress menggunakan Base64 sebagai gantinya. Nilai hex Anda akan menjadi sZRqySSS0jR8YjW00mERhA == di Base64, yang menggunakan karakter 25% lebih sedikit dari hex untuk mewakili data yang sama.
jordanbtucker
14

MD5 bekerja untuk saya mengubah basis data saya secara manual. Lihat: Mengatur Ulang Kata Sandi Anda

JohnMetta
sumber
1
tidak, ini bukan hash md5 biasa, hash md5 biasa terlihat seperti ini: b1946ac92492d2347c6235b4d2611184 saya pernah mendengarnya berdasarkan md5, tapi bisakah seseorang tolong beri tahu saya apa jenis hash yang digunakannya dan opsi apa untuk memilih di passwordspro
24
MD5 akan bekerja jika dimasukkan secara manual ke dalam tabel, tetapi pada saat login pertama kali WP akan menulis ulang menggunakan hash sendiri sehingga berfungsi bagus untuk mengatur ulang kata sandi tetapi tidak lebih dari itu.
GiladG
1
@FranciscoCorralesMorales - mengetik PassWord seperti pada DB lalu memilih MD5 dari drop down masih berfungsi. Anda juga dapat menyalin / menempelkan string terenkripsi MD5 ke dalam kotak dan tidak memilih apa pun dan itu akan berfungsi (jadi, jika PW Anda "qwertyuiop" ND5 Anda adalah "6eea9b7ef19179a06954edd0f6c05ceb". Jika Anda menggunakan kata sandi "qwertyuiop" langsung, pilih " MD5 ", atau gunakan hash yang panjang itu dan jangan pilih apa pun, simpan DB, lalu masuk ke WordPress menggunakan" qwertyuiop "dan itu akan berhasil)
BillyNair
12

Untuk mengatur ulang kata sandi secara manual di Wordpress DB, hash MD5 sederhana sudah cukup. (lihat alasan di bawah)

Untuk mencegah pemecahan kompatibilitas, kata sandi hash MD5 yang disimpan dalam database masih valid. Ketika pengguna login dengan kata sandi seperti itu, WordPress mendeteksi MD5 digunakan, mengulangi kata sandi menggunakan metode yang lebih aman, dan menyimpan hash baru dalam database.

Sumber: http://eamann.com/tech/wordpress-password-hashing/

Pembaruan: ini adalah jawaban yang diposting pada tahun 2014. Saya tidak tahu apakah itu masih berfungsi untuk versi WP terbaru karena saya tidak bekerja dengan WP lagi.

JJLL
sumber
Menyimpan hash MD5 tidak berfungsi lagi. Sumber: Saya baru mencobanya.
Jay Jee
Coba saja dan login. MD5 otomatis dikonversi ke wp hash. Wp versi 5.1
Miro
10

Saya memiliki masalah yang sama untuk mengetahui jenis Hash apa yang Digunakan Wordpress.

Ini adalah kata sandi hash wp .

Contoh

Bandingkan kata sandi yang sudah di-hash dengan string teks biasa:

<?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";
}
?>

Lihat Tautan Ini: https://codex.wordpress.org/Function_Reference/wp_hash_password

https://developer.wordpress.org/reference/functions/wp_hash_password

Ini menggunakan PasswordHash, yang menambahkan garam ke kata sandi dan hash dengan 8 pass MD5.

Meisam
sumber
9

Setidaknya tergantung pada versi PHP yang digunakan. wp-includes/class-phpass.phpberisi semua jawaban.

innaM
sumber
7

Cara terbaik untuk melakukannya adalah menggunakan kelas WordPress untuk mengautentikasi pengguna. Inilah solusi saya:

1. Sertakan file PHP WordPress berikut:

include_once(dirname(dirname(dirname(__FILE__))) . DIRECTORY_SEPARATOR . "wp-includes" . DIRECTORY_SEPARATOR . "class-phpass.php");

2. Buat objek PasswordHashkelas:

$wp_hasher = new PasswordHash(8, true);

3. CheckPasswordfungsi panggilan untuk mengotentikasi pengguna:

$check = $wp_hasher->CheckPassword($password, $row['user_pass']);

4. periksa $checkvariabel:

if($check) {
   echo "password is correct";
} else {
   echo "password is incorrect";
}

Harap Dicatat bahwa: $passwordadalah kata sandi yang tidak di-hash dalam teks yang jelas sedangkan $row['user_pass']kata sandi yang di-hash harus Anda ambil dari database.

Faisal Shaikh
sumber
2
Itu tidak jelas dalam jawabannya tetapi $ password adalah pass tanpa hash dalam teks yang jelas sedangkan $ row ['user_pass'] adalah kata sandi hash yang harus Anda ambil sendiri dari db.
Advait S
5

Mulai phpMyAdmin dan akses wp_users dari instance wordpress Anda. Edit catatan dan pilih fungsi user_pass untuk mencocokkan MD5. Tulis string yang akan menjadi kata sandi baru Anda dalam VALUE. Klik, GO. Buka situs web wordpress Anda dan masukkan kata sandi baru Anda. Kembali ke phpMyAdmin Anda akan melihat bahwa WP mengubah HASH menjadi sesuatu seperti $ P $ B ... selamat menikmati!

ceccoto
sumber
dikonfirmasi 2017 WP instal pada 2019!
Gerard ONeill
2

Wordpress menggunakan hashing MD5 Password. Membuat hash kata sandi teks biasa. Kecuali $ global wp_hasher diatur, implementasi standar menggunakan PasswordHash, yang menambahkan garam ke kata sandi dan hash dengan 8 pass MD5. MD5 digunakan secara default karena didukung pada semua platform. Anda dapat mengonfigurasi PasswordHash untuk menggunakan Blowfish atau extended DES (jika tersedia) alih-alih MD5 dengan argumen atau properti konstruktor $ portable_hash.

J. Shabu
sumber
2

include_once ('../../../ wp-config.php');

global $ wpdb;

$ password = wp_hash_password ("kata sandi Anda");

Hiran DA Walawage
sumber