0Pricing
Cryptology Academy · Pelajaran

bcrypt: Algoritma & Faktor Biaya

Pelajari bagian dalam bcrypt, faktor kerja, dan penyetelan biaya yang tepat.

bcrypt: Algoritma & Faktor Biaya adalah pelajaran Cryptology Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cryptology Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cryptology Academy mencakup 4 pelajaran total.

Selamat Datang

bcrypt adalah algoritma hashing kata sandi yang dirancang pada 1999 khusus agar lambat dan tahan terhadap serangan perangkat keras. Algoritma ini tetap menjadi algoritma hashing kata sandi yang paling banyak digunakan.

Asal-Usul bcrypt

Dirancang oleh Niels Provos dan David Mazières, berdasarkan penyandian Blowfish. Huruf 'b' berarti Blowfish. Gagasan utamanya adalah menggunakan penyiapan kunci Blowfish yang mahal untuk menciptakan kelambatan secara sengaja.

Format Hash bcrypt

$2b$12$saltsaltsaltsaltsaltsalthashhashhashhashhashhash $2b$: algorithm version 12: cost factor (log2 of iterations) salt: 22 base64 characters (16 bytes) hash: 31 base64 characters (24 bytes)

Faktor Biaya

Biaya 12 = 2^12 = 4096 iterasi. Biaya 13 = 8192 iterasi. Setiap kenaikan menggandakan waktu komputasi. Atur nilainya agar hashing memerlukan sekitar 100–300 ms pada perangkat keras Anda. Kecepatan penyerang meningkat dengan cara yang sama.

bcrypt dalam Python

import bcrypt password = b'my_password' salt = bcrypt.gensalt(rounds=12) # generates random salt hashed = bcrypt.hashpw(password, salt) # Verify: bcrypt.checkpw(password, hashed) # True

Nilai Acak Bawaan

bcrypt selalu membuat dan menyimpan nilai acak secara otomatis. gensalt() menghasilkan nilai acak 16 byte yang acak secara kriptografis. Anda tidak perlu mengelola nilai acak secara terpisah — nilainya tertanam dalam string hash.

Batas 72 Karakter bcrypt

bcrypt memotong input setelah 72 bita. Kata sandi yang lebih panjang dari 72 karakter akan dianggap sama setelah 72 bita pertama. Solusi sementara: lakukan pencincangan awal dengan SHA-512 sebelum menggunakan bcrypt (tetapi validasikan pendekatan ini).

Alur Verifikasi Kata Sandi

Proses masuk: 1. Pengguna mengirimkan kata sandi 2. Ambil hash yang tersimpan dari basis data 3. bcrypt.checkpw(submitted, stored_hash) 4. checkpw mengambil salt dari hash yang tersimpan lalu menghitungnya kembali 5. Mengembalikan True/False Jangan pernah menyimpan kata sandi mentah.

Tolok Ukur

biaya bcrypt 12: - CPU konsumen: ~150 md per hash - GPU (RTX 4090): ~50.000 hash/detik (dibandingkan dengan 10 miliar untuk SHA-256) Keunggulan penyerang berkurang dari 1 miliar menjadi ~300 dengan biaya bcrypt 12.

Rekomendasi Faktor Biaya

OWASP 2024: faktor biaya bcrypt ≥ 10. Rekomendasi: 12. Periksa setiap tahun — seiring perangkat keras menjadi lebih cepat, tingkatkan faktornya. Terapkan penghitungan ulang hash secara daring: saat masuk, periksa dan tingkatkan jika diperlukan.

Keterbatasan bcrypt

Kelemahan bcrypt: tidak membutuhkan banyak memori. Penyerang dapat menggunakan ASIC khusus yang dioptimalkan untuk bcrypt. Untuk aplikasi baru, utamakan Argon2id yang membutuhkan banyak memori dan tahan terhadap ASIC.

Pemeriksaan Singkat

Apa arti faktor biaya 12 dalam hash bcrypt?

Rangkuman

bcrypt kuat, tetapi tidak membutuhkan banyak memori. Selanjutnya kita mempelajari Argon2 — pilihan modern terbaik untuk pencincangan kata sandi dengan kebutuhan memori yang dapat dikonfigurasi.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “bcrypt: Algoritma & Faktor Biaya” gratis?

Ya — teks lengkap “bcrypt: Algoritma & Faktor Biaya” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cryptology Academy, upgrade ke CoddyKit PRO. Kursus Cryptology Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “bcrypt: Algoritma & Faktor Biaya”?

Pelajari bagian dalam bcrypt, faktor kerja, dan penyetelan biaya yang tepat. Kamu berlatih Cryptology Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cryptology Academy?

Tidak diperlukan pengalaman sebelumnya. Cryptology Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “bcrypt: Algoritma & Faktor Biaya” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cryptology Academy ini?

Ya. Setiap pelajaran Cryptology Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Mengapa SHA-256 Biasa Gagal untuk Kata Sandi
  2. bcrypt: Algoritma & Faktor Biaya
  3. Argon2: Peng-hash Kata Sandi yang Membutuhkan Banyak Memori
  4. PBKDF2 & Memilih Algoritma yang Tepat
← Kembali ke Cryptology Academy