Voici une solution simple et élégante pour générer des mots de passe aléatoires et sécuritaires en PHP. La fonction génère un mot de passe avec les caractéristiques suivantes:
- Caractères en majuscules et en minuscules
- Un caractère spécial
- Supression des caractères semblables I (i majuscule), 1 (Un) et l (L en minuscule) (Suggéré par Antoine !)
/** * Generate a random secure password. * * @param integer $nbChar Password length. Default 8. * * @access public * @author Sylvain Lévesque * @return string */ function generatePass( integer $nbChar = 8 ) { if ( empty($nbChar) ) { $nbChar = 8; } $characters = '023456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ#!$'; $specials = '#!?$%&*'; $firstPart = substr(str_shuffle($characters), 0, $nbChar - 1); $lastPart = substr(str_shuffle($specials), 0, 1); return str_shuffle($firstPart . $lastPart); } |
Donnez moi votre avis ?
N.B. Vous êtes libre d’utiliser ce bout de code comme bon vous semble.