Générerateur de mots de passe ou d'autres chaînes de caractères totalement aléatoires

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 / Exemple :


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

Codes Sources

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.