Password Strength

ruraux couturiers déclenche clignoter
exposent rigueur statuaire signée
comprimé insertion éden moyenâgeux
jingle démentir magnifiques ce
guichets désuet drôle trouvent
feuille genre revu rajouter
isolée critères prévision aménagement
cadre césar réformiste entrant
amodiataire cocktail licenciés bertin
autochtones vont apatride consistait
fourrage délation accepteront baccara
propagé notables abords raccourcir
surprenante chez soi transcrire appartient
norvégien ont fournie mont
maillet vitriolage convoi adorer
pragmatisme harceler additionner interminable
lazare envisagent dépression repos
maximal lancés déposé démocratisation
résolu rédaction prohibé nuancé
ambition alpiniste visas exception
brown diagonale hernu émanation
brunir consciente levée ouvertes
mark redoutant vérificateur informés
dégaine clef datif cul
actionnaires cousin déchirer programmes
portion inexpert gigot dénommer
stocker horreur appauvrir collectivité
gaulois insuffisants bagdad sanctions
lampe sportivement charlatan sperme
ancien testament pistolet rêvasserie prou
excommunier archet ouvre virginal
capacités téléfilms enfermés la valette
remboursements minauder indéterminée menacée
légitimité ledoux nain perspicacité
calé en unit abrité vigueur
désengagement significatifs paresser régalien
pourra torse aspirateur grand
chambrer hyacinthe cohabitation hibou
hagen jours bascule paysan
kidnapper favoriser futur tranche
bilatéral tailleuse presser ouvert
héréditaire touché brice clé anglaise
mercure sony superbement voitures
fleuves embauchés cacheté femmes
tarder prononcé précédée cheval
doubs indépendance décontracter bobigny
érotique suicidaire musulman rencontres
robustesse gala quelles massifs
désavoué noir interviennent insistance
facétieusement expéditions spectacles effectuée
acétylène entend conseil des ministres aubergine
cheptel percussions cellulaire diluvien
enseignants honneur people souffrances
ambulant viens ardemment naplouse
dualité mémorial disposait cingler
formulation formel mobilisation soudure
existantes demeurait vipère javelot
séjourner rural inconséquent hersage
pistolet obscurité cédé intrépide
compétition révélées regagner esthétiques
membre griefs cambodgien bourrer
anémique  cherchant personnages
divise fourbi blesser nobel
supplice convenablement persuadé souveraineté
persécution cuber eut mentalité
puissante annoncée meilleure rembarrer
suie murdoch aigu lalonde
interprétation intégrisme persistent coiffeur
proposera serve calculé moore
longitude évolue libye ciment
biologie animées conceptions auroux
jalousie distribuées torche convaincante
européenne csa réveiller connaisseur
vase tolbiac lavabo parlement
démissionne polonais quelconque envoi
harris batailles framboise récapituler
imposable minuscules bentonite émetteurs
arrivage wagner jacqueline prêteurs
répartie défunt caissier ravager
ukrainiens dieu augmentations équitation
insensible didier chapitre caméras
chirurgicale phases robustesse majoritaires
en face habitants cœur polygame
intarissable affliction artistes abrégée
totale conférence de presse pointeau univers
cajoleur vicieux portera tréteau
positivement avances canadiens mensonger
daigner intègre dispatcher bâton
affecté dorment banderoles câblé
bactériologiste forêt douce assez
traducteurs plafonds œufs posthume
pinte brique fronde estimant
rotation harceler grave anthony
systématiquement départementale régionales respecter
haut-de-forme congratuler compositeur falsifier
couvre-lit héritier terre birman
considérer limitées académies Ève
financé solitaire vivant valérie
lots tels forêt chauffeurs
occulte cordes montalembert opté

<?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__);