Générer un mot de pass aléatoire

Description

Voilà c'est le 1er script que je pose sur ce site. Il est très simple je sais, mais faut bien commencer gentillement.

Ce script permet donc de générer un mot de passe en PHP.
Les caractères utilisés sont de 0 à 9 et de a à Z. Ils sont stocké dans un array dans la fonction de génération.

Vous pouvez indiquer le nombre de caractères souhaités pour le mdp lors de l'appel à la fonction, sinon par défaut le nombre est 6 caractères. (la taille est illimitée, ou presque ;))

Une boucle "for" est utilisée avec un mt_rand() qui va chercher dans l'array de caractères.

Ensuite l'array est transformé en string avec "implode()" puis le résultat est retourné.

Voilà pour un début ;)

Source / Exemple :


<?php
/////////////////////////////////////////
// Génération de mot de pass           //
// Fichier: pass_gen.php               //
// Date de création: 31.12.09          //
// Crée par: sdk Narkos                //
// Ce fichier peut être modifié        //
/////////////////////////////////////////

// Génération d'un mot de passe
function GenPass($nbr_caractere = 6) // Reçoi le nbr de caractère que doit contenir le mdp (sinon 6 par défaut)
{
	if(is_numeric($nbr_caractere))
	{
		// Liste des caractères disponible pour la génération du mdp (cases de 0 à 61)
		$caracteres = array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",0,1,2,3,4,5,6,7,8,9);
		
		// Création de l'array qui contiendra le mdp
		$array_mdp = array();
		for($boucle = 1; $boucle <= $nbr_caractere; $boucle++)
		{	
			// Ajout du caractère aléatoire dans l'array du mdp
			$array_mdp[] = $caracteres[mt_rand(0,count($caracteres)-1)];
		}
		
		$mdp = implode("",$array_mdp); // Transfo de l'array en string
		return $mdp; // Retourne la chaine contenant le mdp
	}
	else
	{
		return false; // la fonction n'a pas reçu un nombre en paramètre
	}
}
?>

Conclusion :


Je suis ouvert à toutes remarques pouvant améliorer ce code. (même un joyeux noel tant que ça m'aide ;)

Codes Sources

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.