Generation d'un mot de passe avec choix de type de caractère

Contenu du snippet

Code de génération de mot de passe Utilisateur avec choix de type de caratère (majuscule, minuscule, chiffre)

Explication du code:
Il retourne le mot de passe
et il faut demander la fonction:
Generation_Passe($Taille,$Chiffre,$Lettre,$Majuscule)

Suivant votrechoix
Generation_Passe(10,false,true,true)

Source / Exemple :


/****************************************************		Génère un mot de passe aléatoire
		Retourne: 	Le Mot de passe
		Codée par: 	VACHER Grégory
		Date: 		06 Mars 2004
		Version: 	1.0
	\****************************************************/
	function Generation_Passe($Taille,$Chiffre,$Lettre,$Majuscule)
	{
 		if($Taille>0)
		{
			srand((float) microtime()*1000000);		// Initialise la fonction Aléatoire
			if($Chiffre)
			{
				if($Lettre)
				{
					$Alphabet=array(	1=>"a",2=>"b",3=>"c",4=>"d",5=>"e",6=>"f",7=>"g",8=>"h",9=>"i",10=>"j",11=>"k",12=>"l",13=>"m",14=>"n",
										15=>"o",16=>"p",17=>"q",18=>"r",19=>"s",20=>"t",21=>"u",22=>"v",23=>"w",24=>"x",25=>"y",26=>"z");
					if($Majuscule)	// Mot de Passe Avec CHIFFRE & LETTRE Minuscule & Majuscule
					{
						for($Compteur=0;$Compteur<$Taille;$Compteur++)
						{
							$A_Lettre=rand(1,26);	// Retourne un caractere a-z
							$A_Chiffre=rand(0,9);	// Retourne un nombre Aléatoire entre 0 et 9
							if($Compteur==0)
							{	// Premier caractere
								if(rand(0,50)%2)	//	Choisis Aéatoirement (soit chiffre soit lettre)
									$Mot_De_Passe=$A_Chiffre;
								else
								{	// Lettre Choisis
									if(rand(0,50)%2)	//	Choisis Aéatoirement (soit maj soit min)
									{	$Lettre=strtoupper($Alphabet[$A_Lettre]);$Mot_De_Passe=$Lettre;}
									else
										$Mot_De_Passe=$Alphabet[$A_Lettre];	
								}
							}
							else
							{
								if(rand(0,50)%2)	//	Choisis Aéatoirement (soit chiffre soit lettre)
									$Mot_De_Passe=$Mot_De_Passe.$A_Chiffre;
								else
								{	// Lettre Choisis
									if(rand(0,50)%2)	//	Choisis Aéatoirement (soit maj soit min)
									{	$Lettre=strtoupper($Alphabet[$A_Lettre]);$Mot_De_Passe=$Mot_De_Passe.$Lettre;}
									else
										$Mot_De_Passe=$Mot_De_Passe.$Alphabet[$A_Lettre];	
								}
							}
						}
						return $Mot_De_Passe;
					}
					else	// Mot de Passe Avec CHIFFRE & LETTRE Minuscule
					{
						for($Compteur=0;$Compteur<$Taille;$Compteur++)
						{
							$A_Lettre=rand(1,26);	// Retourne un caractere a-z
							$A_Chiffre=rand(0,9);	// Retourne un nombre Aléatoire entre 0 et 9
							if($Compteur==0)
							{	// Premier caractere
								if(rand(0,50)%2)	//	Choisis Aéatoirement (soit chiffre soit lettre)
									$Mot_De_Passe=$A_Chiffre;
								else
									$Mot_De_Passe=$Alphabet[$A_Lettre];
							}
							else
							{
								if(rand(0,50)%2)	//	Choisis Aéatoirement (soit chiffre soit lettre)
									$Mot_De_Passe=$Mot_De_Passe.$A_Chiffre;
								else
									$Mot_De_Passe=$Mot_De_Passe.$Alphabet[$A_Lettre];
							}
						}
						return $Mot_De_Passe;
					}
				}
				else	// Mot de Passe Avec CHIFFRE
				{
					for($Compteur=0;$Compteur<$Taille;$Compteur++)
					{
						$A_Chiffre=rand(0,9);	// Retourne un nombre Aléatoire entre 0 et 9
						if($Compteur==0)
							$Mot_De_Passe=$A_Chiffre;	// Premier caractere
						else
							$Mot_De_Passe=$Mot_De_Passe.$A_Chiffre;
					}
					return $Mot_De_Passe;
				}
			}
			else
			{
				if($Lettre)
				{
					$Alphabet=array(	1=>"a",2=>"b",3=>"c",4=>"d",5=>"e",6=>"f",7=>"g",8=>"h",9=>"i",10=>"j",11=>"k",12=>"l",13=>"m",14=>"n",
										15=>"o",16=>"p",17=>"q",18=>"r",19=>"s",20=>"t",21=>"u",22=>"v",23=>"w",24=>"x",25=>"y",26=>"z");
					if($Majuscule)	// Mot de Passe Avec LETTRE Minuscule & Majuscule
					{
						for($Compteur=0;$Compteur<$Taille;$Compteur++)
						{
							$A_Lettre=rand(1,26);	// Retourne un caractere a-z
							if($Compteur==0)
							{	// Premier caractere
								if(rand(0,50)%2)	//	Choisis Aéatoirement (soit maj soit min)
								{	$Lettre=strtoupper($Alphabet[$A_Lettre]);$Mot_De_Passe=$Lettre;}
								else
									$Mot_De_Passe=$Alphabet[$A_Lettre];
							}
							else
							{
								if(rand(0,50)%2)	//	Choisis Aéatoirement (soit maj soit min)
								{	$Lettre=strtoupper($Alphabet[$A_Lettre]);$Mot_De_Passe=$Mot_De_Passe.$Lettre;}
								else
									$Mot_De_Passe=$Mot_De_Passe.$Alphabet[$A_Lettre];
							}
						}
						return $Mot_De_Passe;
					}
					else	// Mot de Passe Avec LETTRE Minuscule
					{
						for($Compteur=0;$Compteur<$Taille;$Compteur++)
						{
							$A_Lettre=rand(1,26);	// Retourne un caractere a-z
							if($Compteur==0)
								$Mot_De_Passe=$Alphabet[$A_Lettre];	// Premier caractere
							else
								$Mot_De_Passe=$Mot_De_Passe.$Alphabet[$A_Lettre];
						}
						return $Mot_De_Passe;
					}
				}
				else	// Mot de Passe Erreur
				{
					return false;
				}
			}
		}
		else
			return false;

	}

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.