begin process at 2010 02 10 09:32:56
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaîne de caratère

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

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


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
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é :6 800 / 502

Auteur : mavounet

Ecrire un message privé
Site perso
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 ...

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip AUTHENTIFICATION SÉCURISÉE PAR SESSIONS ET MOT DE PASSE CHIF...

 Sources de la même categorie

Source avec Zip GÉNÉRER UN MOT DE PASS ALÉATOIRE par narkos2
UNICODE TO HTML ENTITIES par CrazyShooter
Source avec Zip DÉBUTANT : FONCTION POUR TRANSFORMER UN TEMPS EN SECONDES EN... par MonkeyIsBack
FONCTION QUI GÉNÈRE UN CODE GRÂCE À L'ORTOGRAPHE ET LA PRONO... par foofymany
Source avec Zip TRADUCTION DE FICHIERS DE LANGUE AVEC GOOGLE GTRANSLATE par madislak

Commentaires et avis

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 !

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

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...

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++

Commentaire de jeca le 14/05/2004 13:20:59

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

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

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




Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,530 sec (4)

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