Aller au contenu

Ne stockez jamais un mot de passe en clair : hachez-le avec Argon2

Vos mots de passe utilisateurs sont stockés en clair, en MD5 ou en SHA-1 : en cas de fuite de la base, ils sont immédiatement exploitables.

Bonne pratiqueDébutantBonnes pratiquesPHPTypeScriptPython
<?php// Inscription$hash = password_hash($password, PASSWORD_ARGON2ID);// Connexionif (password_verify($password, $hash)) {    // Mot de passe correct}

Explication

Un hachage est irréversible : on ne stocke jamais le mot de passe, seulement son empreinte. Argon2id est l'algorithme recommandé aujourd'hui : il est volontairement lent et gourmand en mémoire, ce qui rend les attaques par force brute très coûteuses.

  • N'utilisez jamais MD5, SHA-1 ou SHA-256 seuls pour des mots de passe : ils sont conçus pour être rapides.

  • Le sel (valeur aléatoire) est généré et stocké automatiquement dans le hachage : rien à gérer vous-même.

  • Prévoyez une colonne d'au moins 255 caractères pour stocker le hachage.

Pour migrer une base existante, re-hachez chaque mot de passe lors de la prochaine connexion réussie de l'utilisateur.

Partager