Password Strength

apportés infamie naître servira
inabordable senna innovations déterminante
retrouvailles actif chemin de fer prenante
embryons fabriquent irréductibles agissent
soirs permanents sodium naïf
broussailleux femmes armé pacte
cour partagés énerver intentionnel
ouvrages surnommé transports chaleur
socialiste biologiques micmac dédaigneusement
réputés abus ostracisme fonda
ergoter graphiques berceau durabilité
tambours annonéenne câblot ignorant
résigner inévitables penche battant
tiédir troisième visée sèchement
char ferai rues comprend
sûre thune besoins grosz
 individuelles arraché polissage
priver sache sauvegarde adn
mini tuant installée gagnent
cézanne assurances versées exportation
idéologies devenue commencée jamais
interné gadget diamants routiers
rachat côte éducateurs preuve
pessimiste destinataire cotisations vérité vraie
enquête couvre-chef biaiser chiffe molle
déclarant surgissent dépassera lituaniens
aphorisme angoulême réputation publications
petite reposant rapportés hiérarchique
occidentaux bacheliers aiguisage agitée
plaidoirie résulter ladite dénommer
limitée aveline par standardisé
pantoufle blocage anéantir bitumé
ranger malfaiteur édredon accrues
préconisait emmagasiner barbare émission
fâcheux slip durabilité approcher
compétitifs tablette élan rincer
panneaux détachement détruites accueilli
prêcher olympiques être recevait
obscurité muscles nuancé popularité
flash bloch bénéfique informé
effectivement tracé peyrefitte loue
bush étaler profit de initialement
heureusement cultivatrice banderoles dépendent
homard harmonieux prudemment épicier
vaciller décrit grégory manigance
assourdissant restaurer retraites créanciers
nues uriner supportent gaulliste
productrice haler répondant exigeait
vierge dénoncée protectionniste fumer
rêvait aérostat bouder excellentes
investigateur tierçage bénéficiant performance
économe chronique persistante barreau
limer importées marcher buffet
guise de crime posée évanescent
puissance transition alarme engouffrer
réaffirmer lévi carrosserie œuvrer
évocation eurent médian syrienne
diocèse exporté castro asiatiques
rendues avarie danton aéroports
innovations genres acquéreur serveuse
règne forêt blêmir dénonce
objectifs catastrophe sorties monastique
fuchs dresde privées anatomique
pionnière bal masqué câlin ladite
serres recueils marocains justement
soupire billancourt marquer pécuniaire
différemment arabesque récompenser aérienne
délice traversent dame mistigri
choyer réfuter jérôme indécent
illusionner dépit prudent compétent
inquiétudes couloir particularités décharge
indépendant secrètement habituel jeannette
corrompre rajidé barrages commerciales
suivait algériens adoration tarification
minou plombier palper mienne
collaborer exclue sacrée grossir
boucherie transpercer agraire matériau
taré jaunissement glue aboli
vilnius  château maximal
grommeler lucien dilemme tambour
entier pommes rognon pensée
glissé disposition équipier 
propagé créature proliférer danièle
fado raccommoder enthousiasme compulser
enfant réprimande privatisées farouche
groupe coproduit radis noir sauce
notes craint peut éphémère
subséquent pétocharde meetings faribole
pivert chuchoter alléger deuil
insuffisances abasourdissement négation produites
financières tôkyô rival monôme
trier becqueter virulente canadienne
empêchent rédacteurs solidaire gratte-ciel
chocs soi satisfaisant mégalo
là-bas ordonnée occupe requêtes
citadin aspérité races souscripteur
diffamer opéré ventes chemise
nouer intellectuelles irresponsable largeur
instituer campagnard fermes recevra
commerciales gager antifascisme procréation

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