Password Strength

indien intérieure choisir sajous
thaïlandais pioche unanime matraque
forage antisémites aquilon canonique
remblai affrété attributions exilé
excuser énergétique absurde irréel
abrégée maïolique organisations fureur
carter ébahir japper grippe-sou
publication dromadaire contrepoids gâter
printemps reproduit périls humaines
cafeter sûrs rattachés livrent
portaient  auxquelles écueil
prononcé pompier ensemencer archaïsme
lisant treille peureux meurent
repoussée marécage chétif christoff
truand fumet abandonne lévy
attentivement télévisées mûrir jacqueline
rayer lève anglais jadis
prophète augmentations vœu sciemment
capital considèrent juxtaposition glandouiller
agen décident développés manie
catalogues gerber posséder lâche
rêvasserie perroquet commander capturer
précieuse fêté catholique promotions
principalement cadavres simon bermudes
chacun ébranlé civiques csa
compte onduleux bleue offrir
musée joli chaussures roupies
caca précisait privé approuvé
suppléant anesthésie répercuter ordre
cercle béret fermer présentés
poupon déploré désengorger gaëlle
connaught falzar banquiers symboliquement
inconscient lamentable chu peureux
jambe luc compétent prospection
italienne exportations maniement travailler
tranchet aidé passeport conclure
kyste censés audiovisuelle sanglante
patients marais salant dits évitant
racontars rentables négligeable unilatérale
métis cantonales evelyne viril
réviser jullian entretien spectateurs
restauration débarquer soleil faucon
multicolore ferrant décréter individuel
machine toyota livrée bizarres
adjointe saigner berné asocial
docteurs détruite cadre parente
mutinerie culinaire objection erreurs
prônant espaces écartés précisément
vertèbre tourne jachère pionnier
union soviétique coloré idéal mécènes
inscriptions picasso incertitude obscur
routier intéressante directrice sentiment
médiatique régnant indirect gueux
débris aggravée collèges emprisonné
discorde profitable tigre douter
chèques initiale canot domptage
nudité poste polices exiger
passoire blocus abrité étendre
fret laval suture proposition
renforcé irrémédiable chauve fagne
inclusivement incertitudes recommandations mistigri
sentant maroc fournil soldée
réussira expliqué centime forcément
conjonctif dot cran cathédrale
génie conflits ecclésiastique terrorisme
variables leitmotiv conseil des ministres allocution
banlieues malheur bannissement faïence
prolongement observateurs écœurer doutent
aula abrasive stables sportivement
fermeture désintéressé vitres besogne
souterrain doter raisonnablement lancer
autant belfond marian regrettable
échevelé importun puzzle croyait
adoucir céleri tue popotin
excursion vincennes chapelure confère
dirigé site lauréats monteur
liturgie exclut montoir arraché
variation islamisé roussel nervi
offerts possession humbles impliquer
carotte entendent oxyde paysans
sauvé répètent hiérarchique pou
verra rocardien caen arceau
empierrement basses confiance patiente
rien bank-note bourse associée
freins meurtrir trempette célibat
réactionnaire timides tisserande immobilières
sévèrement journalier réalisent patois
météorites endroits consommateurs cynisme
adopte cantonales spécialisation subordination
arabie consentis livrés patienter
bienséance comptoir coupure golden
robert bernard perçoivent démontrent
tas simple japonais rose
moscovites escaliers lada plante
limaçon trouvait évacué baïonnette
silhouettes légalité préparant projet
épices plaire exaspération étrangers
marie solde femmes pierre
fraîchement pâlir pendule poulets
moyens insultant balatum muret

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