Semaine 1
5 pointsLes mots de passe
- On stocke une empreinte, jamais le mot de passe.
- Fonction lente (PBKDF2, bcrypt, Argon2) et sel aléatoire par compte.
- À la connexion : recalculer avec le sel du compte, puis comparer.
- Comparer en temps constant.
- Messages d'erreur neutres : « Identifiants invalides ».
const sel = hex(crypto.getRandomValues(new Uint8Array(16)));const empreinte = await hacher(motDePasse, sel);// stocker { pseudo, sel, empreinte }À retenir : Si la base fuit demain, aucun mot de passe ne doit s'y lire.

