Flask Academy · Pelajaran

Hash Kata Sandi, Jangan Pernah Simpan Teks Biasa

Gunakan Werkzeug untuk melakukan hash dan memverifikasi kata sandi.

Pelajaran 1 dari 413 langkah

Hash Kata Sandi, Jangan Pernah Simpan Teks Biasa adalah pelajaran Flask 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 Flask Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Flask Academy mencakup 4 pelajaran total.

Teks Biasa Adalah Bencana

Jika Anda menyimpan kata sandi sebagai teks biasa, satu kebocoran basis data akan memberikan semua akun kepada penyerang sekaligus. Aturan pertama autentikasi sederhana: jangan pernah menyimpan kata sandi mentah. 🔒

Hashing, Bukan Enkripsi

Anda melindungi kata sandi dengan hashing, yaitu transformasi satu arah. Berbeda dari enkripsi, hash tidak dapat dikembalikan menjadi kata sandi asli, bahkan oleh Anda.

Werkzeug Sudah Menyediakannya

Flask disertai Werkzeug, yang menyediakan dua pembantu untuk keamanan kata sandi. Anda mengimpornya langsung dari modul keamanannya, tanpa perlu memasang apa pun lagi.

from werkzeug.security import generate_password_hash, check_password_hash

Buat Hash saat Mendaftar

Ketika pengguna mendaftar, jalankan generate_password_hash pada kata sandinya dan simpan hanya hasilnya. Teks biasa tidak pernah menyentuh basis data Anda.

hashed = generate_password_hash("hunter2")
user.password_hash = hashed

Salt Disediakan Otomatis

generate_password_hash menambahkan salt acak untuk Anda. Itulah sebabnya dua pengguna dengan kata sandi yang sama mendapatkan hash tersimpan yang sepenuhnya berbeda.

Verifikasi saat Masuk

Saat masuk, Anda tidak dapat mengembalikan hash ke bentuk semula. Sebagai gantinya, panggil check_password_hash dengan hash tersimpan dan kata sandi yang diketik untuk mendapatkan True atau False.

ok = check_password_hash(user.password_hash, "hunter2")

Urutan Argumen Penting

Ingat urutannya: hash tersimpan berada di awal, lalu kata sandi yang diberikan pengguna. Menukarnya akan diam-diam merusak setiap upaya masuk.

check_password_hash(stored_hash, typed_password)

Pilih Metode yang Kuat

Secara bawaan, Werkzeug sengaja menggunakan algoritme yang kuat dan lambat. Kelambatan adalah fitur di sini karena membuat tebakan dengan metode coba-coba jauh lebih mahal.

generate_password_hash(pw, method="pbkdf2:sha256")

Simpan Hash, Bukan yang Lain

Tabel pengguna Anda hanya memerlukan satu kolom password_hash. Anda tidak memerlukan kolom salt terpisah karena salt sudah tertanam dalam string hash itu sendiri.

password_hash = db.Column(db.String(255))

Metode Pembantu pada User

Trik yang rapi adalah menempatkan metode set_password pada model User agar hashing berada di satu tempat dan rute Anda tetap rapi.

def set_password(self, pw):
    self.password_hash = generate_password_hash(pw)

Jangan Pernah Mencatat Kata Sandi

Bahkan saat men-debug, jangan mencetak atau mencatat kata sandi mentah. Satu baris catatan yang tertinggal dapat membocorkan kredensial sama parahnya dengan kebocoran basis data.

Pemeriksaan Cepat

Anda perlu mengonfirmasi proses masuk. Pemanggilan mana yang harus digunakan?

Ringkasan

Anda mempelajari cara melakukan hash dengan generate_password_hash, menyimpan hanya hasilnya, dan memverifikasi dengan check_password_hash. Kata sandi teks biasa telah hilang untuk selamanya. 🎉

Gratis untuk memulai

Belajar Python dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Hash Kata Sandi, Jangan Pernah Simpan Teks Biasa” gratis?

Ya — teks lengkap “Hash Kata Sandi, Jangan Pernah Simpan Teks Biasa” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Flask Academy, upgrade ke CoddyKit PRO. Kursus Flask Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Hash Kata Sandi, Jangan Pernah Simpan Teks Biasa”?

Gunakan Werkzeug untuk melakukan hash dan memverifikasi kata sandi. Kamu berlatih Flask 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 Flask Academy?

Tidak diperlukan pengalaman sebelumnya. Flask 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 “Hash Kata Sandi, Jangan Pernah Simpan Teks Biasa” 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 Flask Academy ini?

Ya. Setiap pelajaran Flask 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. Hash Kata Sandi, Jangan Pernah Simpan Teks Biasa
  2. Pemuat Pengguna dan UserMixin
  3. login_user, logout_user, dan Sesi
  4. Lindungi Tampilan dengan login_required
← Kembali ke Flask Academy