Generator htpasswd
Buat baris .htpasswd Apache (user:hash) untuk HTTP Basic Auth, menggunakan MD5 $apr1$ dari Apache, SHA-1 {SHA}, atau crypt tradisional. Di-hash di browser Anda — kata sandi tidak pernah dikirim ke mana pun.
Input
Tanpa titik dua dan tanpa spasi — titik dua memisahkan kedua kolom dalam berkas.
Pengaturan
bcrypt (htpasswd -B) adalah pilihan modern dan paling aman, berfungsi di Apache 2.4+. APR1 adalah alternatif portabel untuk server Apache lama atau server non-Apache. SHA-1 dan crypt hanya untuk pengaturan lama — keduanya tidak aman.
Output
Tempelkan ini ke berkas .htpasswd Anda — satu pengguna per baris.
Hash tanpa nama pengguna, untuk format konfigurasi yang memisahkan keduanya.
Cara lain menggunakan alat ini
REST API
curl -X POST https://api.iotools.cloud/v1/tool/htpasswd-generator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"username": "admin",
"password": "correct horse battery staple",
"algorithm": "bcrypt"
}'Ganti dengan kunci Anda sendiri dari akun Anda. Bidang alat menjadi isi permintaan — tanpa pembungkus.
Tanyakan ke agen AI
Use the IOTools `htpasswd-generator` tool (htpasswd Generator) on this input:
YOUR_INPUT_HERETempelkan ini ke agen mana pun yang terhubung ke server MCP IOTools, lalu tambahkan input Anda.
Widget sematan
<iframe
src="https://iotools.cloud/embed/htpasswd-generator/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Generator htpasswd — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>Tempelkan ini di halaman Anda sendiri — gratis, tanpa kunci, cukup tautan balik.
| Biaya per panggilan API/MCP | Mulai dari 5 kredit |
|---|---|
| Butuh kredit lebih? | Lihat harga |
Juga tersedia melalui
Panduan
Apa itu berkas .htpasswd?
.htpasswd adalah berkas datar yang digunakan Apache untuk menyimpan kredensial HTTP Basic Authentication — kotak login yang muncul sebelum halaman dimuat. Setiap baris memuat satu pengguna: nama pengguna, titik dua, dan hash dari kata sandinya.
admin:$apr1$dQ2mR8sT$Gk1p6oq9WcE1n0eXqYd0J.Anda mengarahkan Apache ke berkas ini dengan AuthUserFile, dan Apache akan memeriksa kata sandi yang dimasukkan terhadap hash-hash tersebut. Kata sandi itu sendiri tidak pernah disimpan.
Cara menggunakan
- Masukkan nama pengguna dan kata sandi.
- Pilih algoritma hash (APR1 kecuali Anda punya alasan lain).
- Klik Buat htpasswd dan salin barisnya ke berkas
.htpasswdAnda — satu pengguna per baris.
.htaccess yang sesuai terlihat seperti ini:
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /path/to/.htpasswd
Require valid-userAlgoritma mana yang sebaiknya saya gunakan?
- bcrypt (
$2y$) — pilihan modern dan opsi terkuat yang didukung Apache. Algoritma ini sengaja dibuat lambat dan menggunakan salt, dan itulah yang Anda inginkan dari hash kata sandi: membuat serangan brute-force dan cracking dengan GPU menjadi mahal. Ini yang dihasilkanhtpasswd -B, dan berfungsi di Apache 2.4 ke atas. Pilih ini kecuali Anda punya alasan khusus untuk tidak memakainya. - APR1 (
$apr1$) — MD5 Apache sendiri yang menggunakan salt dan 1.000 putaran. Ini adalah alternatif portabel: berfungsi di setiap platform tempat Apache berjalan, termasuk server Apache 2.2 yang lebih lama dan beberapa perangkat lunak non-Apache, serta merupakan hasil darihtpasswd -m. Gunakan ini ketika bcrypt tidak tersedia. - SHA-1 (
{SHA}) — digest SHA-1 biasa yang tanpa salt. Karena tidak ada salt, dua pengguna dengan kata sandi yang sama akan mendapatkan hash yang sama, dan hash ini mudah dibobol dengan rainbow table. Format ini ada untuk server lama yang tidak mendukung format lain. - crypt — DES Unix tradisional. Tidak aman, hanya untuk Unix, dan secara diam-diam mengabaikan semua karakter setelah karakter kedelapan dari kata sandi. Hanya untuk pengaturan yang benar-benar kuno.
Hal yang perlu diketahui tentang bcrypt?
Ada dua hal. Pertama, bcrypt hanya menggunakan 72 byte pertama dari kata sandi — apa pun yang lebih panjang akan diabaikan. Ini melekat pada algoritmanya, bukan batasan dari alat ini, dan 72 byte jauh lebih dari cukup untuk kata sandi yang wajar. Kedua, hash ditulis dengan awalan $2y$, yaitu tag yang digunakan oleh htpasswd -B milik Apache sendiri; varian $2a$, $2b$, dan $2y$ semuanya memilih algoritma yang sama, sehingga hasilnya dapat diverifikasi di mana pun bcrypt diterima (Apache, Nginx, PHP password_verify, dan sebagainya).
Apakah kata sandi saya dikirim ke suatu tempat?
Tidak. Setiap hash dihitung di browser Anda, dengan JavaScript. Kata sandi tidak pernah dikirim, dicatat, atau disimpan, dan alat ini tetap berfungsi meskipun jaringan Anda terputus. (Versi lama alat ini mengirimkan kata sandi ke server untuk di-hash — versi ini tidak perlu melakukannya.)
Apakah hash-nya benar-benar akurat?
Ya, dan itu layak diperiksa, bukan sekadar dipercaya. Setiap hash bcrypt dikonfirmasi dengan htpasswd -vbB milik Apache — implementasi independen yang memverifikasi bahwa hash tersebut mengautentikasi kata sandi asli. Keluaran APR1 identik byte demi byte dengan openssl passwd -apr1 dan htpasswd -m, dan keluaran crypt cocok dengan crypt(3) sistem, di atas kumpulan vektor referensi tetap maupun pasangan kata sandi/salt yang dibuat secara acak — termasuk kata sandi non-ASCII, tempat implementasi naif diam-diam berbeda hasilnya.
Mengapa hash berubah setiap kali saya klik Generate?
Karena bcrypt, APR1, dan crypt menggunakan salt: salt acak yang baru dimasukkan ke setiap hash, sehingga kata sandi yang sama menghasilkan string yang berbeda setiap kali. Itulah yang memang diinginkan — ini mencegah penyerang yang mencuri berkas dari mengetahui bahwa dua pengguna memakai kata sandi yang sama. Setiap baris yang dihasilkan akan mengautentikasi kata sandi yang sama.