Password Strength

comparaître cachée équiper fayard
attractif variété accords inculte
nicolaïte dimitri mancelle doucement
chauve carbonate de sodium décevant aménagement
buisson poussière dietrich agissements
septembre différemment entendez bled
atouts charité glander décorer
toit prostituée criant chaînon
localités présentera bilingue commis
propriétaire pénètre perturbé valenciennes
assommant financières présentant chinoises
écosser évacuation respectant jalousement
amoureuse fève textiles fixé
palmier poser huilerie transit
reprend source collectivités respectivement
délégation autrichienne soubassement trépasser
citroën intellectuellement appliquant puzzle
voit connivence popotin préjugé
mireille débourser placé poulie
signataires héritier obtient réservent
retours habit déséquilibré godelureau
turnover continuera attendu illégales
prétendait tamis congressistes officiellement
bentonite perpétrés multiples entrepôts
excluant échéance johnson évoluer
renchérit séparatiste matité équivalent
incident mairie maillet gestionnaires
monumental éducatif colorer sens
évite connaissance versets signées
labeur poursuit lustre vociférer
autoroutes étayer métier souffrances
rhapsodie prévoit disposant hampe
antérieure tâches secoué réverbère
hégire démonstration croquette sommation
aspirine émane paraisse astronomique
laborieusement stefan alsace coûteux
chanceux demoiselle dépasser denrée
fantaisie morne épingle de cravate bêler
mercredi typographe assise hagiographique
perpétuel sophie goutte devaient
âcre vôtres ajuster concernées
jus interrogation troisième homélie
composante réalisé émissaires dires
cia durafour dialogue court autonomiste
affluent modernité copains alger
barbare boycottage propriété curé
exportations bogota péage pyramide
brigand sophistiqué effet subtile
commerce cinquantaine obscur mécanique
sèvres pouls hardiesse critiqué
radiophonique allégement constituera spécialités
géante patiner juifs coupe de cheveux
indemnité inconnu permission déportation
snober sirène pavillon disque
manier dangers optimistes scandale
kadar effectuer célibataire défaillances
lille touché vaille champ visuel
pucelle suffiront redoutant policier
surmonter dressés mortier festivals
poche comploter programmées aigu
dédommagement libérales décisif variation
cascade tondre décentralisée portés
maths troc secondaire clientes
connaissaient bruccio tomates bertin
socio-politique tromperie supérieurs rameau
rédacteurs réitérer épaules embauches
dialogue court metteurs parviennent naïveté
splendide envolée charbon assouplir
ronde montagnard liberté dormir
rachat mystérieux régulières utilisateurs
scolaire percer discutable affliger
large jérôme dépend greffer
steeple régine taxi saisies
projeté huis carcan hebdomadaires
sixième fraiseur chouchouté préoccupations
volonté diabétiques voulaient dietrich
raffut bâtonnier jospinistes réservées
permanente ardu illimité neil
dirigent thomson malice servante
vendange miraculeusement conquête vraiment
servent shopping fournies associatif
humaniste quinzième barry taupe
shakespeare afrique somalien semblable
égorger germer foisonnement résumé
intensif bergerie savants également
arrêts domaine chose accueillie
droites presse peintre acceptent
volant ferrant mutinerie menstrues
floue radios voir faiblement
collège page christian déception
câbles coussin chenille broder
vert lieu pleurnicher coiffeur
ulcération rythme prévu années
interrogés émaner adrénaline sagace
tchadien orner carreau carmen
loyauté littoral avances canotier
superviseur doive visser tohu-bohu
plantations jaurès requérant pénalité
délassement prononciation retentissement caissier
aquilon botaniste personnages exprimée

<?php

/**
 * @file generer_password_xkcd_com.php
 * @brief Ce script va générer un mot de passe tel que vu sur le site xkcd.com.
 *
 * @author hughes monget
 * @see http://monget.com/
 */

echo '<p><a href="http://xkcd.com/936/" target="_blank">Password Strength</a></p>';

$str_chemin dirname(__FILE__).DIRECTORY_SEPARATOR.'liste_francais.txt';

$arr_str_mot file($str_chemin);
$arr_str_mot array_map('trim'$arr_str_mot);
$arr_str_mot array_filter($arr_str_mot);
$arr_str_mot array_map('strtolower'$arr_str_mot);
$arr_str_mot array_unique($arr_str_mot);

echo 
'<pre>';
for (
$ii 0$ii 100$ii++)
{
    
$arr_tmp = array();
    for (
$jj 0$jj 4$jj++)
    {
        
$arr_tmp[] = $arr_str_mot[mt_rand() % count($arr_str_mot)];
    }
    echo 
implode(' '$arr_tmp).PHP_EOL;
}

echo 
'<hr />';
highlight_file(__FILE__);