Password Strength

lacs répandu cia entre
avouent viser prouver tornade
fonciers guindé pouponnière représentatif
incompatibles détracteurs fischer approuve
motifs opposition eiffel lacune
pourrir syndicalistes iouri langage
crapule licenciements grincer desserts
soudain commentaire frontaliers retourne
beau-père lactique moribond carcasse
bouchers césar fêtes propre
pulmonaire dédié piteux concentration
autorise incriminer par-derrière comptoir
séoul voirie bavard doigté
cyril contravention signataire postérieur
commissionnaire sentier engagées lisent
venir vacanciers démentie amas
architectes pinochet juive adonis
fiente mère habitent poussin
infirmier escrime layette élargie
imperfection french palestiniens rôtissoire
aberrant normalement terreux clairon
majeurs portugais utilisée inclusivement
gilets utopie collectionneuse bolivien
quitté cubes repli autrichienne
rudimentaire dorure gagné alto
scrupuleusement draguer ukraine inattendus
pléiade alphabet éleveur agnosticisme
frappée pyjama infractions couru
impossibilité oubli voyageurs cendré
espérances circuits affection agresseur
globaux jugeaient deale détenteurs
miroir combustible sacrement frimeuse
mélancolie contraignante boulangerie décide
quimper vexation invente entièrement
picoler automatiquement bastos mobilise
berne combiné dégoûté par impériale
candide entièrement nourrissant réflexes
profite gard baffe emporter
rêveur sonder architecte génome
porte-bagages moisi confort antipathie
mécaniques frank éprouver patrice
morales pachyderme mécontent souvent
parcs devise constantin enterrement
risquer minces renouvelé faubourg
affiche chiffe molle volontaires vertical
journalistique macaroni sondages guise de
artésien réviser suavité sirène
propres soupire avaler aménager
salaire soixante bagdad européen
bonbon haïti déterrer froc
séquence rangement affût indirect
regardé papillon rivier disparités
abasourdissement gelé programmé hébergement
hibou villes sanglots vésicule
préféré virer taulard masculinité
gaieté avouent rapsodie commonwealth
argumenter amphore déplorer cible
jugeait véreux banderole enjôler
dispense reconversion serais ride
électorat recentrage intégrée opérer
cou tierçage frank chiant
lesquelles vignoble braquer fine
cul têtes godillot échangées
salir grand-mère signaler senne
conformisme désinvolte  très
vingtième joyeuse stéréotypes racistes
couché belgrade castro réalités
deuxième suppuration étrille grands
trahir obstacles paisible choyer
rallier jugeaient pin animisme
sympa terrine radiodiffuser effectuée
échafaud hideux désaveu merci
avisés romancière décomposition coq
laissaient extension tordre dents de lait
inégalé skieur offenser incommode
indéfini composant creusé richard
surendettement améliorer tennessee délayé
timidement survêtement rapporteur intelligence
catalogues eure parvient naïveté
échafaudage motions intransitif menstrues
metz numéro malte tourterelle
fêté préserve jugement laisse
âgées luis nerveux profondeur
vient épines handicaps futures
amandier tentés cérémonies taiwan
panthéon ouest bertin endormi
délirer économiquement insupportables imaginer
versement parle formalité vaguement
artiste urbanisme calé en courte
totalitarisme bactériologiste harlem exposants
posait fortes injure escarpolette
vétiller composent ressortissant haut-parleur
moelleux reproduit fusions continuant
frenay confesser cuivre dimanche
floue rouspéter médiéval dénoncer
vers mathématiques retirée captivant
parfois conversation salarié télécommunications
normal volumes immanquablement tatillon
émanation jeter besson terre
ici-bas compréhension pèlerins mondiale

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