begin process at 2008 05 16 05:28:14
1 173 215 membres
58 nouveaux aujourd'hui
13 970 membres club

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 !

GÉNÉRERATEUR DE MOTS DE PASSE OU D'AUTRES CHAÎNES DE CARACTÈRES TOTALEMENT ALÉATOIRES


Information sur la source

Catégorie :Chaîne de caratère Niveau : Débutant Date de création : 12/05/2004 Date de mise à jour : 12/05/2004 16:29:25 Vu / téléchargé: 5 243 / 443

Note :
8,56 / 10 - par 9 personnes
8,56 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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

Description

DBRandomPassword V 1.0 est une nette amélioration d'une méthode possible utilisant la fonction rand() pour générer des mots de passe aléatoires, basée cette fois-ci sur la fonction mt_rand().

Avec la fonction rand(), j'obtenais un doublon au bout de 1000 mots de passe générés en moyenne (sur une chaîne de 8 caractères).
Non satisfait de ce résultat car j'avais besoin de générer des mots de passe avec une moindre chance de retrouver des doublons pour un site commercial, j'ai renouvelé l'expérience avec la fonction mt_rand().

en installant le zip, vous aurez une bonne démo des possibilités de ce script ...

Source

  • // voici l'extrait qui permet de générer aléatoirement les mots de passe
  • $NbCar = 8;
  • $Echantillon
  • = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
  • for($i=0; $i<$NbCar; $i++){
  • $pass .= $Echantillon[mt_rand()%strlen($Echantillon)];
  • }
// voici l'extrait qui permet de générer aléatoirement les mots de passe

$NbCar = 8; 
$Echantillon
= "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; 
for($i=0; $i<$NbCar; $i++){ 
	$pass .= $Echantillon[mt_rand()%strlen($Echantillon)]; 
}

Conclusion

Pour ceux qui désirent tester la méthode mt_rand() en installant mon script, j'ai initialisé la longueur des mots de passe à 3 caractères.
Je vous conseille de ne pas tester cette fonction avec des chaînes trop longues, car le nombre de combinaisons s'accroît fortement à mesure que l'on augmente la taille des mots de passe et vous risqueriez d'y passer du temps...

Pour info, j'ai testé ce script sur un quadriprocesseur et j'ai réussi à générer plus de 500000 mots de passe différents (sur une chaîne de 8 caractères) dans ma BDD avant de me lasser et d'en arrêter là sans avoir généré de doubles!!! Je ferai prochainement le test à plus grande échelle.

Faites le test vous même en installant le petit script fourni dans le zip ... il s'arrête dès qu'un doublon est généré et vous fait un rapport.
J'attends vos résultats et commentaires ...
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

  • signaler à un administrateur
    Commentaire de HurriCom le 12/05/2004 16:17:48

    Bravo ! (10/10)
    J'avais déjà vu un script de ce genre mais c'est vrai que la fonction rand() ne marchait pas très bien.
    J'ai testé la petite appli du zip our voir au bout de combien de temps j'avais une chance de retrouver un mot de passe simple et c'est vrai que même sur 5 caractères mon pc a du mal ... ça fait déjà 15 minutes qu'il tourne et j'ai déjà + de 20000 enregistrements dans la base sans avoir trouvé encore un seul doublon !!!
    Pour générer les mots de passe de mes inscrits ça va être le top.
    Merci, et encore merci !

  • signaler à un administrateur
    Commentaire de defkrie le 13/05/2004 12:46:51

    désolé mais je trouve ce script stupide et à la porté de tous (désolé + 5 autres ur le site) tu ne fait que généré une possiblité parmi un nombre fini de combinaisons et donc il est normal que tu ne trouves pas des doubles tout de suite.
    Le vrai algorithme à trouver est celui du dico cest à dire à partir d'un certaine nombre de chararctère va creer toutes les possibilités et non comme ton script on lance au hasard.
    voila cetait juste mon petit coup de gueule
    ps : pour les doubles ct nromal tu as 8^62 possiblités

  • signaler à un administrateur
    Commentaire de mavounet le 13/05/2004 13:51:01

    defkrie,
    Le but de ce script (je me répète) est de mettre à la portée de tout le monde une façon simple de générer des mots de passe qui soient efficacement aléatoires.
    En effet, les autres sources dont tu me parle n'arrivent pas à la cheville de celui là en terme de "hasard", puisque basées sur la fonction rand().
    Le but de cette source est également de vérifier en pratique l'efficacité du mt_rand() avec une petite appli toute simple qui te permet de populer une base.
    Ta solution de générer un dictionnaire n'est pas idiote et facilement réalisable, mais ce n'est pas le but recherché car, en terme de sécurité (dasn le cas de l'utilisation de ce script pour un système d'inscription) il n'est pas judicieux de permettre à un utilisateur x de pouvoir déduire le mot de passse de y qui s'inscrit juste après.
    J'espère que tu me suis toujours ... car je te donne un exemple concret :

    Ex : sur un site qui publie la liste de ses derniers inscrits du style :
    "Derniers inscrits : toto, titi, tata ..."

    Ton système permettrai facilement à toto de se loguer avec le compte de titi en incrémentant son propre mot de passe... et etc pour tous tes membres. Imagine la belle pagaille. Désolé, mais ce que tu crois être plus judicieux n'est pas un bon choix en terme de confidentialité dans un système d'information. Et dieu c'est si elle est importante, cela se vérifie chaque jour en pratique dans chaque SI de chaque entreprise et de chaque administration ...
    Peut-être en manques-tu simplement ...

    ps: (pour te copier) 8^62 .. CORRECT !
    Bien ;-) tu n'es pas encore tout à fait le maillon faible...

  • signaler à un administrateur
    Commentaire de HurriCom le 13/05/2004 14:43:59

    Je suis ptdr ;)
    trop fort ce mavounet ...
    Si ça c'est pas de la mise à mort ...
    defkrie, y'a des jours, on ferait bien de pas se lever n'est-ce pas ?
    Bonne continuation mav, je suis déjà en train de revoir mon système d'authentification en compilant ton script d'authentification et celui-ci pour générer les mots de passe par défaut de mes abonnés.
    Thx man++

  • signaler à un administrateur
    Commentaire de jeca le 14/05/2004 13:20:59

    La fonction "uniqid()" ne se débouille pas mal non plus !!!

  • signaler à un administrateur
    Commentaire de defkrie le 17/05/2004 13:28:30

    ouias je suis peut etre allé un peu fort (réveil difficile)mais le dico permet par exemple d'avoir toutes les combinaisons possibles selon une chaine établie.
    Un exemple jai un site ou le nom de l'utlisateur est de 1 à 5 characteres composé parmi ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789

    le dico va ainsi créer toutes les posssiblités quand à ton script il va seuleument généré des possiblités aléatoires sans etre sur qu'il existe déja.

    Voila cest tout et bonne chance pour la suite

  • signaler à un administrateur
    Commentaire de Helldream le 25/12/2007 15:27:41

    Un grand merci pour ce code, qui m'a permis de ne pas perdre mon temps à trouver comment gérer un mot de passe aléatoire (le temps,c'est de l'argent ^^).

    Pour répondre à DEFKRIE, en effet le mot de passe créé ne sera pas forcément unique, mais en même temps, je ne vois pas l'utilité d'avoir un mot de passe unique : si deux personnes ont le mot de passe "g6T8ZE42", penses-tu pour autant qu'ils pourront se connecter sur le compte de l'autre, sans même savoir que quelqu'un a le même mot de passe ? Avec un nom d'utilisateur identique là en effet, ça poserait de graves problèmes. Mais pas avec un mot de passe ;)

Ajouter un commentaire

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS