Password Strength

 éventuellement expose informatique
infécond demi-droite déshabiller accumulé
verts émouvante rallye rigolo
examen solidaires dépense graduation
cuistot rebrousser rédiger posée
dépanner jay prestige rais
caen médecine prévoyant alto
fonctionnaires artériosclérose intellectuellement aber
illustrée pivoine biotechnologie raisin
ressemble considère juillet bitumer
femmes écouté blanche us
moque financer suggèrent fondements
changement maillot de corps hughes suédoise
turnover tracé devrait nationalités
agent descendance évasion élégante
spécieux bouillir longrine affiché
aléatoire lapins hollandais amadouer
livrer hacher sillage inflammation
houphouët eduardo rendaient hôte
vôtre serrés génocide participeront
inflationnistes abjection vachard tissus
este adonis noisetier remaniement
modérés valvule basalte frugal
rébarbatif viser sérieux fuchs
multicolore externe intérieur auvent
tulipe stock voyant exil
calomnier metteur janvier auguste
confiées genièvre menacer renoncer
longitude nuisible défaillir orthographe
ostentatoire successivement catégoriquement déterminée
cogitation talbot précéder dérivé
garçons tentée décidées partition
maison faucher studios cacheté
paysages sortant embobiner crevasser
dévider librement militante devait
finit diversifiées belge risquerait
lâche effectuer sensations complique
compromettre timor renforcement portugaise
serve caractéristiques inquiété espérait
concordance contrats impiété imide
dolphy cedex déterminant désarmé
radicaux statistique emplir lettres
totalitarisme lézarde forment détaille
broussailles aviatrice coste fossoyeur
forger pharmacie aîné campagnes
pilotage poivron requis gradins
transcrire rigolo éreinté nerfs solides
aggravation repasser comprenne souhaiter
préambule mobilisent célébrité héroïque
créatrice conne circulaires jesse
affamé nomenclature absent chaînes
nous infanterie scientifiques fâcher
secoué diplômé confrontée droitière
mahomet coïncidence chaise sanglante
affichent coulée colombe progressive
jute vanner souhaite fléchissement
tante nase adressés conduites
canberra rugby crapule aubert
roumains styles déferlement oncogènes
regroupement judas degré libanaises
parlaient bienséance intérêt respecte
virent adieux partent allures
bergman merlin postérieurement nouvelle-zélande
supports chats rédigée libéré
gibet généalogie plongée tenu de
administratives prohibition civilité après-midi
régional tsar barbès bestiole
défauts condamner indépendance accusé
nutrition laissées perd milices
ficher distrait espagne raclée
modèle promesses représentante relâche
délaisser authentique indirects constant
servis gueux réprimer pressés
tempes envoûtement sanction déposition
obligataire orphelinat institut delalande
recherchés positif occasion déguster
séculier aptitudes essayons rurales
nomenclature assassinés seigle rêverie
commerciales exécrer joëlle accabler
parasol antinomique réunira laitue
famine roberto poulain pratiquée
réchauffer alambiqué salubre comptable
souhaitait saisis interstitiel dos
impact pérès frotter lèche-vitrines
nié tribu gaullistes labeur
pleurnicher phraser baraquement orbite
diluvien capitaine retirés impliqués
dialectique métrologie pétulant ion
prime terrestre brisée écoulement
caverne observateur littoral 
religion décence contractuelle architectes
hongroise indemnités jeun facture
dérider boulevards virilité étudiant
surgir hersage hasard parcimonieux
conspirateur défilent états patiente
inconditionnel fécondité provoquant clemenceau
participations colorer sculpteur condamnés
assassin humanité posait francisco
reprochait proue noisette ambroisie
présumés grenu remontée corrélationnel

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