0Pricing
Cryptology Academy · Pelajaran

Mengapa SHA-256 Biasa Gagal untuk Kata Sandi

Pahami tabel pelangi, kecepatan coba-coba, dan salt.

Mengapa SHA-256 Biasa Gagal untuk Kata Sandi adalah pelajaran Cryptology Academy gratis di CoddyKit. Ini adalah pelajaran 1 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

Menyimpan kata sandi dengan aman adalah salah satu topik keamanan yang paling sering disalahpahami. Dalam pelajaran ini, kita memahami alasan fungsi hash cepat seperti SHA-256 sangat tidak tepat untuk kata sandi.

Yang Terjadi Saat Basis Data Bocor

Kebocoran basis data terjadi terus-menerus. Pada tahun 2024, RockYou2024 membocorkan 10 miliar kata sandi. Jika kata sandi pengguna Anda disimpan dalam bentuk yang dapat dipulihkan, penyerang akan memulihkannya.

Penyimpanan SHA-256 yang Naif

Pola buruk: hashed = sha256(password) store(username, hashed) Masalah: (1) sha256 sangat cepat, (2) kata sandi yang sama → hash yang sama (tanpa nilai acak), (3) tabel pelangi tersedia untuk kata sandi umum.

Serangan Tabel Pelangi

Tabel pelangi adalah pemetaan yang telah dihitung sebelumnya dari hash→kata sandi untuk jutaan kata sandi umum. SHA-256('password') selalu menghasilkan hash yang sama. Pencarian dalam tabel: sebagian besar kata sandi dapat didekripsi seketika.

Peran Nilai Acak

Nilai acak = byte acak yang ditambahkan di awal kata sandi sebelum hashing. hash = sha256(salt + password) Setiap pengguna mendapatkan nilai acak yang unik. Tabel pelangi menjadi tidak berguna — penyerang harus melakukan brute-force terhadap setiap pengguna secara terpisah.

Namun Nilai Acak Saja Belum Cukup

GPU modern menghitung 10 BILLION hash SHA-256 per detik. Bahkan dengan nilai acak yang unik, penyerang yang memiliki hash yang bocor dapat melakukan brute-force terhadap kata sandi 8 karakter dalam hitungan menit.

Masalah Kecepatan

SHA-256 dirancang agar cepat — untuk integritas berkas, TLS, dan sebagainya. Kecepatan adalah musuh dalam hashing kata sandi. Kita memerlukan algoritma yang sengaja dibuat lambat dan tahan terhadap brute-force.

Peregangan Kunci

Peregangan kunci mengulangi fungsi hash ribuan kali: for i in range(100000): h = sha256(h). Hal ini memperlambat penyerang dan pembela — tetapi keunggulan perangkat keras tetap menguntungkan penyerang.

Fungsi yang Membutuhkan Banyak Memori

Penghash kata sandi modern memerlukan RAM dalam jumlah besar, bukan hanya siklus CPU. GPU memiliki RAM per inti yang terbatas dibandingkan dengan CPU. Sifat Argon2 yang membutuhkan banyak memori menetralkan keunggulan GPU/ASIC.

Kesalahan Umum

Jangan lakukan: - sha256(password) - sha256(salt + password) without iteration - md5(password) (or any MD5) - Encrypting passwords (can be decrypted) - sha256(sha256(password)) (still fast)

Yang Sebaiknya Digunakan

Gunakan: bcrypt (paling banyak digunakan), Argon2id (direkomendasikan oleh OWASP dan membutuhkan banyak memori), PBKDF2-SHA256 (sesuai FIPS dan dapat diterima). Ketiganya sengaja dibuat lambat dan secara bawaan menggunakan nilai acak.

Pemeriksaan Singkat

Mengapa SHA-256 tidak sesuai untuk hashing kata sandi meskipun menggunakan nilai acak?

Ringkasan

SHA-256 tidak tepat untuk kata sandi. Berikutnya kita mempelajari bcrypt — algoritma yang sengaja membuat hashing lambat dan tahan terhadap perangkat keras.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Mengapa SHA-256 Biasa Gagal untuk Kata Sandi” gratis?

Ya — teks lengkap “Mengapa SHA-256 Biasa Gagal untuk Kata Sandi” 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 “Mengapa SHA-256 Biasa Gagal untuk Kata Sandi”?

Pahami tabel pelangi, kecepatan coba-coba, dan salt. 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 1 dari 4.

Berapa lama pelajaran “Mengapa SHA-256 Biasa Gagal untuk Kata Sandi” 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