0Pricing
Cyber Security Academy · Pelajaran

Hash Kata Sandi: bcrypt, Argon2, PBKDF2

Pelajari mengapa penyimpanan teks biasa berbahaya dan cara hashing dengan salt melindungi kata sandi

Hash Kata Sandi: bcrypt, Argon2, PBKDF2 adalah pelajaran Cyber Security 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 Cyber Security Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cyber Security Academy mencakup 4 pelajaran total.

Mengapa Kata Sandi Tidak Boleh Disimpan sebagai Teks Biasa?

Menyimpan kata sandi sebagai teks biasa merupakan bencana — satu kebocoran basis data dapat mengekspos setiap akun. Kata sandi harus diproses dengan fungsi satu arah sebelum disimpan sehingga akses ke basis data sekalipun tidak mengungkapkan kata sandi asli.

Apa Itu Hashing?

Fungsi hash mengubah masukan dengan panjang berapa pun menjadi keluaran dengan panjang tetap. Masukan yang sama selalu menghasilkan keluaran yang sama, tetapi masukan asli tidak dapat dipulihkan dari hash tersebut. Contoh: SHA-256, bcrypt, Argon2.

Mengapa Tidak Menggunakan SHA-256 untuk Kata Sandi?

Fungsi hash umum seperti SHA-256 dirancang agar cepat. Penyerang dapat menghitung miliaran hash SHA-256 per detik menggunakan GPU, sehingga pembobolan dengan coba paksa menjadi memungkinkan.

Hashing kata sandi memerlukan fungsi yang lambat dan mahal secara komputasi.

Penambahan Salt

Salt adalah nilai acak yang ditambahkan ke setiap kata sandi sebelum hashing. Salt memastikan dua pengguna dengan kata sandi yang sama memiliki hash yang berbeda, sehingga mencegah serangan tabel pelangi dan pembobolan massal. Salt disimpan bersama hash (salt bukan rahasia).

# Conceptual salt example
hash = bcrypt("password" + random_salt)

bcrypt

bcrypt dirancang pada 1999 khusus untuk hashing kata sandi. bcrypt memiliki faktor biaya yang dapat dikonfigurasi untuk mengatur seberapa lambat proses hashing. Seiring peningkatan kemampuan perangkat keras, tingkatkan faktor biaya untuk mempertahankan keamanan.

Faktor biaya 12 umum digunakan saat ini — diperlukan waktu sekitar 250 ms untuk menghitung hash pada CPU modern.

PBKDF2

PBKDF2 (Fungsi Derivasi Kunci Berbasis Kata Sandi 2) menerapkan fungsi hash, misalnya HMAC-SHA256, berkali-kali (iterasi). Semakin banyak iterasi, semakin lambat dan semakin aman. PBKDF2 direkomendasikan oleh NIST dan digunakan WPA2 untuk kata sandi Wi-Fi.

Argon2

Argon2 memenangkan Kompetisi Hashing Kata Sandi pada 2015. Argon2 adalah standar modern yang dapat dikonfigurasi berdasarkan:

  • Biaya waktu — jumlah iterasi
  • Biaya memori — RAM yang diperlukan (membatasi akselerasi GPU)
  • Paralelisme — jumlah utas

Gunakan Argon2id untuk sebagian besar aplikasi.

Tabel Pelangi

Tabel pelangi adalah pencarian hash yang telah dihitung sebelumnya hingga menjadi teks biasa. Tanpa salt, penyerang yang memiliki hash dapat langsung mencarinya di tabel. Salt membuat tabel pelangi tidak berguna karena setiap hash menjadi unik.

Teknik Pembobolan Kata Sandi

Pendekatan umum untuk pembobolan luring:

  • Serangan kamus — mencoba kata sandi umum dan variasinya
  • Coba paksa — mencoba semua kombinasi karakter
  • Berbasis aturan — menerapkan aturan perubahan pada kamus (menambahkan tahun, menggunakan huruf kapital, bahasa leet)
  • Alat: Hashcat, John the Ripper

Memilih Algoritma yang Tepat

Urutan pilihan untuk aplikasi baru:

  1. Argon2id — ketahanan terbaik terhadap pembobolan menggunakan GPU/ASIC
  2. bcrypt — didukung secara luas dan memiliki rekam jejak yang terbukti
  3. PBKDF2 — disetujui NIST dan diwajibkan dalam beberapa konteks kepatuhan

Jangan pernah gunakan: MD5, SHA-1, atau SHA-256 tanpa salt untuk kata sandi.

Proses Verifikasi

Saat pengguna masuk:

  1. Ambil nilai hash dan nilai acak tambahan yang tersimpan untuk pengguna tersebut
  2. Hitung nilai hash kata sandi yang dikirimkan menggunakan nilai acak tambahan dan algoritme yang sama
  3. Bandingkan nilai hash yang dihasilkan dengan nilai hash yang tersimpan (perbandingan dengan waktu konstan)
  4. Jangan pernah mendekripsi—hanya lakukan perbandingan

Pemeriksaan Cepat: Penghashan Kata Sandi

Algoritme penghashan kata sandi manakah yang dianggap sebagai praktik terbaik saat ini dan menjadi pemenang Kompetisi Penghashan Kata Sandi?

Ringkasan Pelajaran

Kata sandi harus disimpan sebagai nilai hash, bukan teks biasa. Algoritme cepat seperti SHA-256 tidak sesuai—gunakan fungsi lambat untuk menghitung hash kata sandi: Argon2id (diutamakan), bcrypt, atau PBKDF2. Selalu gunakan nilai acak tambahan yang berbeda untuk setiap kata sandi guna mencegah serangan tabel pelangi. Jangan pernah membuat kriptografi sendiri—gunakan pustaka yang telah teruji.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Hash Kata Sandi: bcrypt, Argon2, PBKDF2” gratis?

Ya — teks lengkap “Hash Kata Sandi: bcrypt, Argon2, PBKDF2” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cyber Security Academy, upgrade ke CoddyKit PRO. Kursus Cyber Security Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Hash Kata Sandi: bcrypt, Argon2, PBKDF2”?

Pelajari mengapa penyimpanan teks biasa berbahaya dan cara hashing dengan salt melindungi kata sandi Kamu berlatih Cyber Security 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 Cyber Security Academy?

Tidak diperlukan pengalaman sebelumnya. Cyber Security 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 “Hash Kata Sandi: bcrypt, Argon2, PBKDF2” 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 Cyber Security Academy ini?

Ya. Setiap pelajaran Cyber Security 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. Kekuatan dan Kebijakan Kata Sandi
  2. Hash Kata Sandi: bcrypt, Argon2, PBKDF2
  3. Autentikasi Multifaktor
  4. Credential Stuffing dan Password Spraying
← Kembali ke Cyber Security Academy