Password Strength

tartelette pou lointaine craie
défavorisés relégué biffer incessant
constituent situation accuser discutent
concept cinéma historiques eh
implications conceptions préparatifs crotte
méditatif accuse immanquablement thon
totale leaders engager éternité
brigade sauront égratigner arithmétique
inattention klein nuée juive
galopin éminent émigrée voir
ériger exceptionnelle successeurs trêve
recommencer métropoles pelote barrer
senteur perdrix racontait collectives
tilde reculer évêché rapides
ouverts vivace paperasse infichu
pivot jouer consistant tons
désespérance sinueux continuateur aggraver
institutrice trône oblation suivis
relevées japper moubarak matins
occurrence rompus disposait vanité
perles équivaut hémicycle balkan
décisive subodorer impensable californie
candidate lieutenant baronnet terroriste
câlinement téléphoner agression conseiller
bette obéissance couramment scolarité
véhémence réhabiliter allons personnages
bassin supprime primitif murdoch
lieutenant golden cachés parabellum
fédéraux savais bouton inhabileté
formelle  défait burlesque
prévue promotion coiffeur proxénète
parvenues stalinien jugement démarche
anathème positive découle baptisé
continueront importance matraque collaborateurs
brochette réunification oise insinuation
étau répondre anticipation civiles
gorbatchev doses évidence trouble
françois soûl courtois tillac
dictionnaire dilaté classés adam
fagot lexicographie insouciant condescendance
voiler salariés lacérer longtemps
guerriers agissements dam injures
fausse fêté leclerc glaçon
tartelette fugitif entreprend beaucoup
essorer maçons consécution albatros
volume chaos nuisance douleur
scientifique ayrton écraser efface
amaigrir composent contrôles bénéficie
déficit agneler jetant brûlure
rompt fixant syndicaliste consterner
charge imposé décapiter tutelle
présenter octroi surdité agriculteur
eurent préciser structurels étancher
effondré sous-développé about oui
retombée adeptes dérogations occidental
métalliques amitiés olp prières
suspensions lumineuse perturbée immanquable
pot-pourri bâtisse franck sensibiliser
adolescent compétent démesuré skieur
croix staline livre solde
forgé vent grandiose finances
funeste intransigeant radier profitant
gêneuse chagriné poularde fer
élite agité adoptant dégoûtant
observe vatican réticence réparties
reconverti voisin passionner congénère
judiciaires résurgence mis disciplines
godiche correspondait blancs clôture
rébellion lauréats méfie méfiant
véhiculer participer inguérissable enjeux
abeille mans disque affirmant
manifester estier motifs sonde
bernard jaguar aubergine comédien
sentinelle vexation colombiennes auberge
pétocharde dessine hippopotame registre
frank hésite embarrassé incarne
insolent suivantes troublante fouiller
argot clin perec écœurer
ceausescu sommaires frapper fécondation
décors briquet antiquaire qualitative
contrat délibérément taloche réédition
banque verticale durant antérieure
lancés amphibraque lancinante diamètre
intégrité dépendant antisocial agi
 faure aspirant inféodé
lassitude ordre ton blackboulage
intelligente sembler commissure quittait
thématique polissage tenter effroi
mûrs désirant divulguer ouvertement
dernières dogmes succès particularités
prématuré faner fondamental liquidités
contenus coulisses explorateur actualité
portée rapporter doive horizons
pignon proverbe acétylène connard
sanitaire amoureux présidentielle précisé
clark retient arrêter certificats
vendange épuiser implicite agriculteur
prélèvement inquiétantes ajaccio recommencer
effet données vienne correspondants
ravisseurs hameau raconter bouddhique

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