Bagaimana cara mengaktifkan dukungan crypt_blowfish untuk kata sandi dan PHP yang dibayangi di server Linux (Debian)?
Saya merujuk pada bcrypt berbasis Blowfish gaya OpenBSD , yang dikenal dalam PHP sebagai CRYPT_BLOWFISH.
Sejauh yang saya tahu tidak ada paket Debian untuk itu, opsi apa lagi yang saya miliki untuk mengaktifkan algoritma hashing ini untuk PHP?
Catatan: Antarmuka fungsi crypt ()
PHP relatif langsung dengan fungsi C-library crypt (3) yang disediakan oleh sistem operasi yang mendasarinya.
Pembaruan
penamaan paket tidak sejelas yang seharusnya (seharusnya).
Paket PEAR Crypt_Blowfish adalah pengganti drop-in untuk ekstensi MCrypt PHP, memungkinkan enkripsi blowfish dua arah yang cepat .
Juga paket Debian BCrypt juga merupakan implementasi dari dua arah algoritma blowfish 'normal'.
Yang saya cari adalah implementasi Bcrypt-hash untuk hashing passwords.
Jawaban:
Paket yang Anda perlu instal di debian adalah
libpam-unix2
.Maka Anda harus mengedit file berikut di bawah
/etc/pam.d/
, dan mengubah semuapam_unix.so
penggunaan kepam_unix2.so
:Terakhir, edit
common-password
file dan ganti parameter "md5" dengan "blowfish".Kata sandi yang diperbarui setelah modifikasi ini dibuat akan di hash menggunakan blowfish. Kata sandi bayangan yang ada tidak dimodifikasi. Sumber
Untuk menggunakan blowfish di PHP, Anda menyediakan garam blowfish
crypt()
. Seperti ini:Anda harus terlebih dahulu memeriksa apakah CRYPT_BLOWFISH == 1. Dan Anda harus menggunakan garam yang cukup panjang, yang sama dengan (atau lebih besar dari) 22 karakter. Sumber
sumber
passwd
tidak meminta kata sandi lama saat dijalankan dari root. Penting: biarkan sesi root Anda tetap terbuka sampai Anda yakin dapat masuk lagi!