Password Strength

mener consacrera ponctualité cuire
équilibre leitmotiv minimiser permettez
burundaise jeans composer irrégularité
cédant cheptel fusions fêlé
intensifier diagnostic ébullition périphérique
atrocité inquiétantes éreinté perpétuel
chapelle dassault perdent rousset
cinquième diapason reposer ingénieur
privé air thérèse inflationnistes gêné
flamboyer assistants poètes érotique
pensons simulation découverte versement
préventive accepteront vulgairement réacteurs
horaire réalité salzbourg mains
protocoles téléviseurs métallurgie incommodité
modifiant arachide ouvrable frémissement
importations incollable limaçon nouvelle
lubricité empoté pavage legs
illustrant périodes cassable grant
philosopher effacer goulag dupliquer
cafard fluctuation essence délivrée
lesquelles cagnes comte santiago
ukase acquitter lagune motard
finistère turnover couette endurant
véhémence vietnamiennes diplômés inquiétante
modernes légèrement meurtres put
occidental aspect vêtu jugements
révèle attendons italiennes convenu
grappe coûte maghrébins doubler
révolte maintient souffert proclamation
tentation balte victorieux arrhes
cruauté habituel embêtant licenciements
fêlé attaqué coréenne self-control
forts ali plaisirs côtelette
associée concernait vertige découvrent
destin identité toucher linguistiques
rétracter clivage conservatrice feuilles
politiquement latino expérimentés ira
virginie abstenu mocheté sûreté
rythme inspirées idée aînée
mit salarial accusent interdépendant
baigner dans du productivité réveillé
mettons compté tenu de municipalité
familiales programmation micro- pentagone
charmer écriteau volontaires incomparable
raisin accordéon trimestre journalistes
gêner concerts démontre spécialiste
prépositif caisses char de combat prouve
ta campagnarde cartes décident
pionnier vantaux stipule retentir
humecter moustique croisière viennent
fermement cuillère souvient accueille
parcelle maillet rachetant suédois
survivants épuisé approuvent infaisable
dirigeants suscitent musical photographier
cracovie peintre capitale déroulement
astrologue saper studios prépare
oisif souper ladite partielle
relation escompter formée cloison
allégée passait règle coproductions
charcuterie pompe abats verbale
vertus souvenir chute demi-pension
magnitude favorisant réformistes combattre
uni vulgarisé phraser intraitable
pèse achètent chaud rechercher
natal dealers australiens républicaine
abréviations néphropathie cernes surchauffe
prosélytisme pu deutschemark stephan
courber florissant truands bouteille
giorno ben naturelle dépression
ponctualité inonder parlementer profité
caserne parait traître savonner
célérité suscite affichés unilatéralement
denrées contour stipulation brouhaha
staline européen vincennes prédire
patrimoine inquiétés concession augmentent
certitudes modérés strasbourg stars
hebdomadaires solide sales laye
spéciale ponctualité mario accueillie
figure inchangé préliminaire écervelé
réussite injustifié dernièrement secours
déstabiliser engloutir reconnues marmonner
participait palette rechange caractériser
nœud copieur compensation prépositif
similaire organismes nettoyeur côtoient
volvo jointure percussions indiscrétion
fourguer salarial collectivement intime
adjoint droguer ouvertures mortelle
voiles réagir rude automobiliste
stabilisée courts beauvau hacher
ongles billes crânerie idées
imposait assistants assimilation fins
aurais âgé étable suggérait
coule ceci glandouiller escrime
associatif économiquement dior airs
éditorial dispositions câblé jeunes
taciturne cambrioleur rejeter humilité
cinémathèque kazan troublé deux
parcourt promouvoir bsn vénéneux
coûtent marées russes personnalités
auteur pochoir gaulliste parlaient

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