begin process at 2012 05 27 20:19:38
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Sécurité & Cryptage

 > FONCTION : GÉNÉRATEUR DE MOTS DE PASSES COMPLEXES OU TEMPORAIRES DE LONGUEUR VARIABLE

FONCTION : GÉNÉRATEUR DE MOTS DE PASSES COMPLEXES OU TEMPORAIRES DE LONGUEUR VARIABLE


 Information sur la source

Note :
8,67 / 10 - par 3 personnes
8,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Sécurité & Cryptage Niveau :Initié Date de création :12/09/2004 Vu :6 454

Auteur : Magidev

Ecrire un message privé
Site perso
Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note

 Description

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

  • <?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
  • }
  • ?>
<?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
    }

?>



 Sources du même auteur

NOMBRE DE JOURS ENTRE DEUX DATE EN UNE SEULE LIGNE
TUTORIAL : TOUS LES SECRETS DES SESSIONS ET DES COOKIES EN P...
Source avec Zip Source avec une capture APPLICATION : UN CALENDRIER VERTICAL MULTI-UTILISATEUR AVEC ...
ENVOI DE MAIL AVEC PIECE JOINTE
TUTORIAL : PHP CONSTRUIT LES BASES, LES TABLES ET LES CHAMPS...

 Sources de la même categorie

Source avec Zip Source avec une capture CAPTCHA AJAX ANTI-BOT par darkvador59
Source avec Zip Source avec une capture ACCÈS, ESPACE MEMBRE AVEC INSCRIPTION ET DÉSINSCRIPTION PAR ... par stephelle
Source avec Zip CRYPTAGE REVERSIBLE par Mokost
Source avec Zip Source avec une capture CREATION DE COMPTE AVEC CRYPTAGE ET ESPACE DE CONNEXION SEC... par bm1982
PROTÉGEZ VOS LIENS DE TÉLÉCHARGEMENT PAR MOT DE PASSE ET/OU ... par unlien

Commentaires et avis

Commentaire de GRenard le 13/09/2004 05:20:29

Tu vas m'expliquer pourquoi tu n'autorises seulement que maximum 32 caractères...
et un is_int serait mieux qu'un is_numeric...
Je ne mettrai pas la longueur avec une virgule...

Commentaire de Magidev le 13/09/2004 12:28:37

D'abord j'explique si je veux ! LOL
Et 32 caractères paske pour un mot de passe ca fait limite pas lourd 32 caractères donc plus c génial encore bonjour la mémoire !

Et si le code te plait pas ben tu peu le modifier, c comme je dis a chaque fois.

Commentaire de coucou747 le 18/11/2004 19:36:06 administrateur CS

moi ça m'a apris a générer des nombres aléatoires
merci

Commentaire de SAaD44 le 16/01/2005 18:04:11

Superbe !!
Je vais l'utiliser pour renommer des fichiers uploader pour éviter d'avoir 2 fichiers du même nom !
Merci, je met 10 !

Commentaire de GRenard le 16/01/2005 18:10:45

Euh... SAaD44, pour ca tu pourrais faire un md5 sur le nom de ton fichier+time par exemple pour avoir un nom de fichier différent !

Commentaire de fuckya le 09/02/2005 15:23:52

J'ai plus simple ^^

function getAleatoire($chain, $nbchars=10)

{

for($i=0; $i <= $nbchars; $i++) {

$n = mt_rand(0, strlen($chain));

$pass .= $chain[$n];
}

return $pass;

}

Commentaire de SAaD44 le 11/02/2005 19:54:39

Euh ouais mais bon je m'y connait pas trop avec cette fonction de php donc j'ai pris ce que je pouvais. (function.###(){blabla}) => c sa ke je comprend pas)

Commentaire de Chipster59 le 15/12/2007 11:51:13

J'ai mis ce code comme indiqué est quand je lance la page il me marque "Parse error: syntax error, unexpected '*' in /home/www/746724243f0f345b97cf80b81f091e79/web/mdp2.php on line 8"







<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>
contenu du presse papier<?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
    }

?>

<body>
</body>
</html>

Commentaire de coucou747 le 15/12/2007 11:56:14 administrateur CS

il manque /* au debut de son commentaire (c'est la base du php, t'aurais du t'en appercevoir tout seul...)

Commentaire de Chipster59 le 15/12/2007 14:02:56

Désolé mais je suis pas très balaise en php. Je débute.

Même en rajoutant /* j'ai pas ce qu'il faut :(

Y'a pas quelqu'un qui a ce code sur une page sur le web que je regarde ce que ca donne

Commentaire de coucou747 le 15/12/2007 14:47:27 administrateur CS

remplace :

<?php  
* Utilisation:  Pour générer un mot de passe de 8 caractères, faites comme ceci:
*
*   var $password;
*   $password = generatePassword(8);
*   echo $password;
*/


par :

<?php
/*
* Utilisation:  Pour générer un mot de passe de 8 caractères, faites comme ceci:
*
*   var $password;
*   $password = generatePassword(8);
*   echo $password;
*/

Commentaire de desbordesa le 30/07/2008 18:38:25

Bonjour,

est ce que dans ton script on peu ajouter lors du renvoi du mot de passe une ligne sup avec le mot de passe en phonetic
genre Alpha - tango - SIX etc...
Merci pour l'info

Arnaud

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,998 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales