Fonction : générateur de mots de passes complexes ou temporaires de longueur variable

Contenu du snippet

Une petit fonction qui genere des mots de passes de manière completement aléatoire et d'une longeur maximale de 32 caractères alphanumeriques

du genre : X1dde56dsKKL par exemple

Source / Exemple :


<?php  

  • Utilisation: Pour générer un mot de passe de 8 caractères, faites comme ceci:
*
  • var $password;
  • $password = generatePassword(8);
  • echo $password;
  • /
/* chaine generatePassword(int)
  • - Generer une chaine de caractères aléatoires d'une longueur spécifiée
  • - longueur maximum: 32
  • /
function generatePassword($plength) { // D abord on valide l'argument passé en parametre // Si nécéssaire on le change au cas ou il ne convient pas. if(!is_numeric($plength) || $plength <= 0) { $plength = 8; } if($plength > 32) { $plength = 32; } // Ceci est un tableau de caractres. Il n y a que les caractes standards alphanumeriques $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; // Ceci est important: Il nous faut un generateur de nombres mt_srand(microtime() * 1000000); // Maintenant on genere simplement la chaine de la longueur de l'argument for($i = 0; $i < $plength; $i++) { $key = mt_rand(0,strlen($chars)-1); $pwd = $pwd . $chars{$key}; } // Pour finir on change quelques caractères pour assurer le hasard du mot de passe for($i = 0; $i < $plength; $i++) { $key1 = mt_rand(0,strlen($pwd)-1); $key2 = mt_rand(0,strlen($pwd)-1); $tmp = $pwd{$key1}; $pwd{$key1} = $pwd{$key2}; $pwd{$key2} = $tmp; } return $pwd; //et on renvoi le mot de passe génére } ?>

A voir également

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.