Aller au contenu principal

3 formations sont désormais disponibles : Python, Flask et JS.

Aller au contenu principal

Gestion des mots de passe (Hashage)

Apprendre Flask : Le Guide Ultime
2 min de lecture
Gratuit

🚨 Règle N°1 du web : Ne JAMAIS stocker des mots de passe en clair dans la base de données. Si tu stockes "123456", et que ta base fuite, tous tes utilisateurs sont compromis.

On doit hasher le mot de passe. "Hasher", c'est transformer "123456" en une bouillie illisible du genre pbkdf2:sha256:260000.... C'est irréversible. On ne peut pas retrouver "123456" depuis le hash.

Comment vérifier le mot de passe alors ?

Quand l'utilisateur se connecte :

  1. Il tappe "123456".
  2. On hashe "123456".
  3. On compare ce nouveau hash avec celui stocké en base.
  4. Si c'est les mêmes, c'est gagné !

Avec Flask (Werkzeug)

Pas besoin d'installer de librairie externe, Flask a tout ce qu'il faut via Werkzeug.

from werkzeug.security import generate_password_hash, check_password_hash

# 1. Inscription (Création du hash)
password_clair = "secret123"
password_hashé = generate_password_hash(password_clair)
print(password_hashé) 
# Affiche un truc genre : pbkdf2:sha256:260000$....

# 2. Login (Vérification)
entree_utilisateur = "secret123"
est_valide = check_password_hash(password_hashé, entree_utilisateur)
print(est_valide) # True

entree_fausse = "azerty"
print(check_password_hash(password_hashé, entree_fausse)) # False

C'est simple, c'est robuste, c'est sécurisé.