Soyez le premier à donner votre avis sur cette source.
Snippet vu 8 579 fois - Téléchargée 17 fois
define('ALPHABET','azertyuiopqsdfghjklmwxcvbn'); //Entrez les caractères que vous voulez $longueur=8; $cle=substr(str_shuffle(str_repeat(ALPHABET,$longueur)),0,$longueur); // str_repeat(ALPHABET,$longueur) répète l'alphabet 8 fois pour permettre à une lettre d'apparaître plusieurs fois // str_shuffle(...) mélange la source de lettres // substr(...,0,$longueur) prélève les 8 premiers caractères
L'astuce semble sympa - quelques corrections ligne 3 : str_repeat et non str_reapeat. Il faudrait que t'expliques ton code ligne par ligne / voire fonction par fonction.
Tu définit un dico / puis une longeur.
1ére remarque :
le dico pourrais être dans une constante et la longeur un paramètre de fonction. Ca donnerais ça :
define('DICO', 'azertyuiopqsdfghjklmwxcvbn');
function genRandChar($length = 8) {
return substr(str_shuffle(str_repeat(DICO,$length)),0,$length);
}
Tu fait un str-repeat donc tu dupliques dans une chaine ton dico N fois. Ensuite tu lui demandes de mélanger l'ensemble de la chaîne str-shuffle. Puis tu prends depuis le début jusqu'à la longeur demandée.
A mon avis c'est pas bon - t'as 20 lettres dans le dico (je simplifie), tu veux un mot de passe de 8 lettres et tu lui demandes de mélanger 160 lettres (8 * 20) pour n'en retourner que les 8 premières. Pas bon au niveau perfs - fais un tour sur les commentaires de cette page :
http://fr2.php.net/manual/fr/function.str-shuffle.php
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.