Password Strength

détruite impérissable clocher discussion
protégé tabac réduit cacao
altération show passéiste précipice
allemande ravitailleur basse taquiner
radios foison délivré rossellini
collectionner rizière chauffer courroux
athlétisme précipitations eau-de-vie benjamin
commercialiser comptant vues boycottage
répondent short relèvent délégué
file notation hezbollah accumulées
parlant despote bélarus moscou
pause flic thom importance
andrei évacuée lessive veulent
inaccoutumé autorité resté taciturne
endettés assure caresses cachée
fuite définitif élevées psychisme
détiennent guirlande renouveau spéculations
channel couple bilingue osseux
ignorance boisson timoré envisagé
suffixe alliée littéraires séquence
pirates compose obstétrique désintégrer
envisage ressentent moisi lâché
brique académiques ride fi
indic copains allée psychologiques
équipage axes perquisition vrais
indiquent malentendus trace neuf
démissionner nue bercy jeans
informer aspirateur critique promotion
volontaires manche fiancer chaude journée
blois aérien citoyenneté fauteuil
contestée courage maladies grosz
accorder glossaire esclave lycéens
suppléant foutus immolation cadavre
menées claudicant concentre trouverait
aphorisme mode intéressé portugal
prestations acharné résurrection royauté
ballastages couturière filiale primat
substantiels  intolérable convulsion
gratis jeûne longues pignon
imprécis accueillie imposé ponts
commerciales spot missions absurdement
globales tournoiement travaillaient létal
poing philippines répondant repos
revu afficher montre robot
froncer uniformes désignés ouvrière
kurde dictée suspens insupportables
représenté johannesburg exil journalier
nain atterrir suzanne rebondissements
presses observatoire non-valable entraîner
renseignement autographe dérisoire davis
gratte-papier trémie attaché cadres
outils branler langues lot
aidant attaqués changent droitière
athéisme sanglant icône caloyer
gravitation plein camaraderie prenait
voulons symptômes placent globalité
scolarité hidjabs pharaons référer
patates dévergonder septentrion unités
leningrad employé horizons lesquels
picard convié décorer bar
arrogance astuce rendraient périgueux
désiré bien-être défunt polygame
mécénat pretoria coude inclinaison
parler expulser indigne crisper
rarement francs aiment délinquants
clos ethiopie mobilisé rouiller
nationalistes canonique méconnaître incommode
signatures loupé surprise priorités
dépasse scénariste blois achevée
désarmer bien-être johnny pilotage
célérité amateur lainier incroyable
genévrier arrondissements hululer aérostat
doux accumuler spécification tenait
forcés obtiendra recherches assainissement
unanimité autorisant flux de murmure
tertiaire tokyo genèse participation
paternelle grillon décent commerciales
qualifié sénat gager break
déduire enquête recense superficiel
profil déficitaire barres lanciner
mésintelligence groupuscule rétrograder honneurs
chateaubriand stephen juppé masses
complice situer prince autorités
jaillissement munis sapes poulets
assuré douzième budgétaires bastille
bovin jeune ordures âpreté
ère stimulant sérieuses maire
vol porteur tombait littératures
employées accusés oratoire livraisons
faubourg imprenable marrant seuils
craignaient confrontées toutes craqueter
décidées diffuse vaclav kenya
retournement collier inconsistant molotov
ménagère commérages contemporain justiciable
refroidissement rentrées élimer outrager
éveiller incompétent lectrice déguster
informées rire philo remplacé
couloirs épicé héberger constituerait
dessert carlos signalé vivien
fâcher rune multimédias refusa

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