DevToolPal
ID

Generator dan Pemeriksa Hash Bcrypt

Buat hash bcrypt dari kata sandi dengan cost pilihan Anda, atau periksa apakah kata sandi cocok dengan hash bcrypt.

Berjalan lokal, tidak pernah diunggah

Opsi

Mode

Kata sandi

Hasil

Hasil akan muncul di sini

Fungsinya

bcrypt adalah fungsi hash kata sandi yang sengaja dibuat lambat. Berbeda dengan MD5 atau SHA-256 yang bisa dihitung miliaran kali per detik, bcrypt punya cost yang bisa diatur sehingga setiap tebakan mahal bagi penyerang yang mencuri database Anda. Bersama Argon2 dan scrypt, bcrypt masih menjadi salah satu pilihan paling umum untuk menyimpan kata sandi.

Alat ini melakukan dua hal:

  • Buat hash: mengubah kata sandi menjadi hash bcrypt dengan cost dan prefiks versi pilihan Anda.
  • Verifikasi: memeriksa apakah kata sandi cocok dengan hash bcrypt yang sudah ada, misalnya dari database Anda atau file seed framework.

Cara menggunakan

  1. Ketik Kata sandi, atau klik Contoh.
  2. Pada mode Buat hash, pilih Cost dan Versi. Hash langsung muncul; klik Salt baru untuk mendapatkan yang lain.
  3. Pada mode Verifikasi, tempel Hash bcrypt yang diperiksa. Hasilnya menunjukkan apakah kata sandi cocok.

Membaca hash bcrypt

Hash seperti $2b$10$./3kakECWB0QfIgYzIqciuv449HNnwGbgExtJQQwQ1MofonthOdoK terdiri dari empat bagian: versi 2b, cost 10 (2¹⁰ putaran penyiapan kunci), salt 22 karakter, dan checksum 31 karakter. Semua yang dibutuhkan server untuk memverifikasi kata sandi nanti ada di satu string ini, jadi Anda cukup menyimpan hash-nya.

Batasan yang perlu diketahui

bcrypt hanya membaca 72 byte pertama kata sandi. Kata sandi yang lebih panjang, atau yang memuat banyak karakter non-ASCII (masing-masing 2–4 byte dalam UTF-8), dipotong tanpa pemberitahuan. Alat ini memperingatkan Anda bila itu terjadi. Jika perlu menerima frasa sandi yang sangat panjang, lakukan pra-hash atau pertimbangkan Argon2id.

FAQ

› Kenapa kata sandi yang sama menghasilkan hash berbeda setiap kali?

Setiap hash memakai salt acak 16 byte yang baru, dan salt itu disimpan di dalam hash. Ini disengaja agar kata sandi yang sama tidak menghasilkan hash yang sama. Untuk memeriksa kata sandi, gunakan Verifikasi, bukan membandingkan string hash.

› Cost berapa yang sebaiknya dipakai?

Pilih cost tertinggi yang sanggup ditanggung server untuk setiap login, biasanya 10 sampai 12 saat ini. Setiap langkah menggandakan kerja. Ukur di perangkat keras produksi; sekitar 100–300 ms per hash adalah target umum.

› Apa bedanya $2a$, $2b$, dan $2y$?

Algoritmanya sama. $2b$ adalah prefiks OpenBSD saat ini, $2y$ ditulis oleh password_hash PHP, dan $2a$ versi lama. Sebagian besar pustaka menerima ketiganya, jadi pilih yang diharapkan sistem Anda.

› Apakah kata sandi saya dikirim ke mana pun?

Tidak. Hashing dan verifikasi berjalan di browser Anda. Kata sandi dan hash yang diperiksa hanya ada di memori halaman ini; tidak disimpan dan tidak ditambahkan ke tautan berbagi.