0Pricing
Flask Academy · Lektion

Passwörter hashen, niemals im Klartext speichern

Verwenden Sie Werkzeug zum Hashen und Überprüfen von Passwörtern.

Passwörter hashen, niemals im Klartext speichern ist eine kostenlose Flask Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Flask Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Flask Academy-Kurs umfasst insgesamt 4 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

Plaintext Is a Disaster

If you store passwords as plaintext, one database leak hands attackers every account at once. The first rule of auth is simple: never save the raw password. 🔒

Hashing, Not Encrypting

You protect passwords with hashing, a one-way transform. Unlike encryption, a hash cannot be reversed back into the original password, even by you.

Werkzeug Has It Built In

Flask ships with Werkzeug, which gives you two helpers for password security. You import them straight from its security module, no extra install needed.

from werkzeug.security import generate_password_hash, check_password_hash

Hash on Sign-Up

When a user registers, run generate_password_hash on their password and store only the result. The plaintext never touches your database.

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

Salt Comes Free

generate_password_hash adds a random salt for you. That is why two users with the same password get totally different stored hashes.

Verify on Login

At login you cannot un-hash anything. Instead you call check_password_hash with the stored hash and the typed password to get a True or False.

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

Argument Order Matters

Remember the order: the stored hash comes first, the user-supplied password second. Swapping them silently breaks every login attempt.

check_password_hash(stored_hash, typed_password)

Pick a Strong Method

By default Werkzeug uses a strong, slow algorithm on purpose. Slowness is a feature here, because it makes brute-force guessing far more expensive.

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

Store the Hash, Not More

Your user table needs a single password_hash column. You never need a separate salt column, since the salt is baked into the hash string itself.

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

Helper Methods on User

A clean trick is to put a set_password method on your User model so hashing lives in one place and your routes stay tidy.

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

Never Log the Password

Even during debugging, do not print or log the raw password. A stray log line can leak credentials just as badly as a database breach can.

Quick Check

You need to confirm a login. Which call should you use?

Recap

You learned to hash with generate_password_hash, store only the result, and verify with check_password_hash. Plaintext passwords are gone for good. 🎉

Häufig gestellte Fragen

Ist die Lektion „Passwörter hashen, niemals im Klartext speichern“ kostenlos?

Ja — der vollständige Text von „Passwörter hashen, niemals im Klartext speichern“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Flask Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Flask Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Passwörter hashen, niemals im Klartext speichern“?

Verwenden Sie Werkzeug zum Hashen und Überprüfen von Passwörtern. Du übst Flask Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Flask Academy zu starten?

Keine Vorkenntnisse erforderlich. Flask Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Passwörter hashen, niemals im Klartext speichern“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Flask Academy-Lektion Code schreiben und ausführen?

Ja. Jede Flask Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Passwörter hashen, niemals im Klartext speichern
  2. User Loader und UserMixin
  3. login_user, logout_user und Sessions
  4. Views mit login_required schützen
← Zurück zu Flask Academy