Comment hasher des mots de passe en PHP de façon sécurisée

Guide complet pour hasher et vérifier des mots de passe en PHP avec password_hash(), bcrypt et Argon2.

Exemple

MonMotDePasse123!
Essayer avec cet exemple

Questions fréquentes

Comment utiliser password_hash() en PHP ?

Utilisez password_hash($password, PASSWORD_BCRYPT) ou PASSWORD_ARGON2ID. Pour vérifier : password_verify($input, $hash). N'utilisez jamais md5() ou sha256() directement pour les mots de passe en PHP.

Quelle est la différence entre PASSWORD_BCRYPT et PASSWORD_ARGON2ID ?

Bcrypt est éprouvé et très bien supporté. Argon2ID (PHP 7.3+) est plus moderne et recommandé par les standards actuels (RFC 9106). Les deux sont sécurisés pour la production.

Pourquoi ne pas utiliser SHA-256 pour les mots de passe en PHP ?

SHA-256 est trop rapide — un attaquant peut tester des milliards de mots de passe/seconde. Bcrypt et Argon2 ont un facteur de coût configurable qui ralentit intentionnellement le calcul pour résister aux attaques brute force.