Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

FONCTION QUI GÉNÉRE UN MOT DE PASSE ALÉATOIRE


Information sur la source

Catégorie :Sécurité & Cryptage Classé sous : mot, passe, fonction, générer, aléatoire Niveau : Débutant Date de création : 16/04/2007 Date de mise à jour : 22/05/2007 22:00:09 Vu / téléchargé: 12 988 / 469

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note


Description

Cette fonction permet de générer un mot de passe aléatoire d'une taille donnée ($size)

Les caractères à utilisés sont à indiquer dans le tableau $characters.

Par défaut, le mot de passe contiendra des chiffres et des lettres (minuscules et majuscules).

L'alternance de ces caractères est obtenu de façon aléatoire.


 

Source

  • <?php
  • /***********************************/
  • /* Génère un mot de passe */
  • /***********************************/
  • // $size : longueur du mot passe voulue
  • function Genere_Password($size)
  • {
  • // Initialisation des caractères utilisables
  • $characters = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "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");
  • for($i=0;$i<$size;$i++)
  • {
  • $password .= ($i%2) ? strtoupper($characters[array_rand($characters)]) : $characters[array_rand($characters)];
  • }
  • return $password;
  • }
  • // Petit exemple
  • $mon_mot_de_passe = Genere_Password(10);
  • echo $mon_mot_de_passe;
  • ?>
<?php

/***********************************/
/*     Génère un mot de passe      */
/***********************************/
// $size : longueur du mot passe voulue
function Genere_Password($size)
{
    // Initialisation des caractères utilisables
    $characters = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "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");

    for($i=0;$i<$size;$i++)
    {
        $password .= ($i%2) ? strtoupper($characters[array_rand($characters)]) : $characters[array_rand($characters)];
    }
		
    return $password;
}


// Petit exemple

$mon_mot_de_passe = Genere_Password(10);

echo $mon_mot_de_passe;

?>

Conclusion

Pratique pour générer des mots de passe aléatoirement de longueurs voulues, contenant pas seulement que des chiffres ou que des lettres...  bref un "vrai" mot de passe pour un petit plus en terme de sécurité ;)

Je l'utilise beaucoup, j'espère qu'il pourra également vous servir ;)

PS : (pour débutants) pour récupérer un mot de passe dans une variable, il suffit donc de faire par exemple :

$mon_mot_de_passe = Genere_Password(10);

Téléchargez le zip pour l'exemple ;)

++
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

16 avril 2007 18:00:22 :
Petite modification pour la mise en page ;)
22 mai 2007 21:57:23 :
Prise en compte des remarques ;)
22 mai 2007 22:00:09 :
Problème dans le zip..

Commentaires et avis

signaler à un administrateur
Commentaire de kankrelune le 16/04/2007 18:49:10

function Genere_Password($size)
{
    $password = '';
    $chars = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
                   "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"
                  );

    for($i=0;$i<$size;++$i)
        $password .= ($i%3) ? strtoupper($chars[array_rand($chars)]) : $chars[array_rand($chars)];

    return $password;
}

;o)

@ tchaOo°

signaler à un administrateur
Commentaire de jeca le 17/04/2007 08:07:23

Il y a aussi ça :

$pass = md5 (uniqid (rand()));

Mais la longueur ne peut être choisie, ; dans le cas présent, c'est obligatoirement 32 caractères.

signaler à un administrateur
Commentaire de keyserbruce le 17/04/2007 10:25:21

Et pouquoi pas ça ?

$password = substr(crypt(time()),-8);

Et la, la longueur peut être choisie.

signaler à un administrateur
Commentaire de coucou747 le 19/04/2007 02:35:07

ou md5(microtime());
avec du str_replace pour virer ce qui peut porter a confusion (o et 0), bref

on est tous d'accord pour dire qu'un pass se genere en une ligne

#  $p = rand(0, 2);
#
# switch($p)
# {
# case 0: $q = rand(0, 9);
# break;
# case 1: $q = rand(0, 25);
# break;
# case 2: $q = rand(0, 25);
# break;
# }


a remplacer par

if (rand(0, 2)===0) $q = rand(0, 9);
else $q = rand(0, 25);

signaler à un administrateur
Commentaire de CString le 19/04/2007 17:47:41

Dans le tableau de mot de passe je suggère de mettre des caractères spéciaux comme "!?*+-"

signaler à un administrateur
Commentaire de Astalavista le 21/04/2007 02:44:13

On pourais aussi mettres des caractères du genre :
ALT + 159 = ƒ
ALT + 170 = ¬
ALT + 185 = &#9571;
non ?

signaler à un administrateur
Commentaire de coucou747 le 22/04/2007 15:53:09

cote securite oui, maintenant... c'est pas non plus courrant un bruteforce sur un login, et ca se voit si on logue les ip de tentatives de login et les heures...

signaler à un administrateur
Commentaire de maxioutils le 22/06/2007 19:23:55

Bah pour être franc, sur ce qu'à dit Jeca, on peut bel et bien choisir la longueur, du caractère.
Mon code prends le timestamp actuel et le hash en md5.  Ensuite avec un substring(), on peut couper le md5 de façon à avoir la longueur voulu !

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

mot de passe [ par huricane ] Bonjour, J'ai un problème pour crypter de simple mot de passe dans une base de donnée. Je suis sous postgresql et je dispose d'une table utilisateur o LDAP : Authentification avec mot de passe crypté [ par Startrik ] Bonjour, Voila je fais une application php qui permettra d'authentifier un utilisateur en se servant de son login et mot de passe qui sont dans une an la fonction mail() [ par refkaben ] Bonjour &#224; tous!J'ai une fonction mail qui sert &#224; envoy&#233; le mot de passe &#224; un memebre en cas ou il l'a oubli&#233;, j'ai le code su générer un nombre aléatoire entre 1 et 16 [ par aze555666 ] bonjour. quelle est la fonction php pour g&#233;n&#233;rer un nombre entier al&#233;atoire entre 1 et 16??? le but est ensuite de r&#233;cup&#233;rer Générer un mot de passe [ par massbbc ] Salu j'aimerai générer un mot de passe, l'afficher et ensuite l'envoyer sur un mail .Aidez moi SVP include config et sécurité? [ par stroubinou ] Bonjour! Voila, je vous explique mon probleme, j'ai une galerie photo (visible ici ) ... je l'ai install&#233;e chez un copain (ben ouai, faut bien se Pb de conception [ par blinix123 ] Bonjour à tous, alors voila, je vous explique avant de vous balancer tout le code :pJ'ai un code mini-chat, et un code page protegé par mot de passe, problème chez free [ par Egon2204 ] bonjour a vous ! je suis débutant dans la programmation en php et pour l'instant je n'ai pas rencontré de réels problèmes ! mais j'ai tout de meme une Cryptage mot de passe [ par Tit0x ] Hello all =)J'aimerais avoir quelques petites infos. Je voudrai crypter les mots de passe de mes (futur) membres. Il y a le cryptage par MD5 mais c'es Remplacer un tableau. [ par themwa059 ] Salut a tous ! Voila, j'ai un petit site de PSP et J'aimerai simplement savoir comment remplacer un tableau login/password (lors de la connexion) par


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


HTC Magic

Entre 429€ et 429€


Photothèque Nouveau !



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
Temps d'éxécution de la page : 1,295 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.