Generator htpasswd
Buat entri .htpasswd aman untuk autentikasi dasar HTTP
Alat htpasswd menghasilkan entri kata sandi untuk autentikasi dasar server Apache HTTP (file .htpasswd). File ini berisi pasangan pengguna:kata sandi yang melindungi direktori web, panel admin, dan lingkungan pengembangan.
Apa itu .htpasswd?
File .htpasswd menyimpan nama pengguna dan kata sandi ter-hash yang digunakan oleh modul mod_auth_basic Apache. Saat pengguna mengakses direktori dilindungi, Apache meminta kredensial.
✅ Algoritma didukung
- • bcrypt ($2y$): Opsi paling aman dengan faktor biaya adaptif. Direkomendasikan untuk semua setup baru
- • APR1 MD5 ($apr1$): Varian MD5 khusus Apache. Kompatibilitas baik dengan versi lama
- • SHA-1 ({SHA}): Hash SHA-1 berenkode Base64. Sederhana dengan keamanan dasar
- • crypt(): Enkripsi DES Unix tradisional. Dukungan maksimal 8 karakter kata sandi
📊 Kasus penggunaan
- • Panel admin: Melindungi wp-admin, phpMyAdmin, atau area admin kustom
- • Situs staging: Menjaga lingkungan pengembangan dan staging tetap privat
- • Endpoint API: Menambahkan lapisan autentikasi dasar ke REST API
- • File statis: Membatasi akses ke dokumen dan unduhan sensitif
⚠️ Catatan keamanan
Selalu gunakan bcrypt untuk entri htpasswd baru. APR1 dan SHA-1 didukung untuk kompatibilitas mundur tetapi lebih lemah.
🔄 Perbandingan algoritma
bcrypt ($2y$)
Biaya adaptif, paling sulit diretas
Pilihan terbaik untuk setup baru
APR1 MD5 ($apr1$)
1000 iterasi MD5 dengan salt
Khusus Apache, kompatibilitas baik
SHA-1 / crypt
Hashing sekali jalan
Hanya legacy, tidak direkomendasikan
Pertanyaan umum ❓
Bagaimana cara menggunakan entri htpasswd yang dihasilkan?
Buat file .htpasswd di luar root web dan tempel entri. Lalu tambahkan direktif AuthType Basic, AuthName, AuthUserFile, dan Require valid-user.
Algoritma mana yang harus dipilih?
Selalu pilih bcrypt untuk setup baru. Gunakan APR1 hanya jika versi Apache Anda tidak mendukung bcrypt (pra-2.4).
Bisakah saya memiliki banyak pengguna dalam satu file?
Ya. Tambahkan satu entri per baris. Setiap pengguna bisa menggunakan algoritma berbeda.