Password Strength

tiers sciage inclinaison bénéfique
défilé fourche changera saline
ambiguïté satanique achetées adverse
politiquement aile anesthésier poursuivent
coalition préalable apparences avocat
papetier casting clapoter faveurs
robin relater décident réédition
contrefaçon consultants esquimau balayer
voûte incurver apte existence
culminant complications brancardier inondations
excellent toqué métrologie parvenir
virent séquences coryza condescendant
attribution evry salami jimmy
ornano formé harceler stock
second croquette bloc délation
peuples exécution rougeoyer renforcer
biographie imprimés oise souscription
participation vieillissement hospitalisé coller
fabrique conteneurs astigmate emménager
aspirateur oural dise signées
sociologue douceur moustaches obséder
pratiquant idée pot-de-vin trains
pébroc réélu positif montrer
titulaires savons dépassera pull
appris inconscient hypertonie énergie
gène pyramide afrique vantarde
barman accompagnement tombeau multicolore
dénoncés octobre invention consiste
clichés indonésien éparpiller titres
acidulé édition preuves suspendus
surgi studios verdict anecdotique ment
parade doublement pudibonderie plâtre
cuisiner successeurs haillon rouvrir
romanichelle correspondant vivres déclamer
pompeux saisonnières drapeau nerveuse
 attribuées va étoiles
bilingue antonio carpates augmentant
laborieux sarre réservent excuse
lustre rattachée finaud mandarinier
margaret petite-fille honorable propension
cachés déposition injustement verront
pillages étamer chope hypothèse
bibliographie lord ferroviaires sonnaille
parcimonieusement routière peut brigitte
lanciner sages percée trouvailles
écrabouiller originalité bronx avant-garde
allaiter champion labourer brûlé
ami accompagnement intensive rénové
prostitution ambitieuse défauts motiver
aveuglant éventualité approuvé congratuler
sympathie foulards épouse climat
amendement déficitaires architectonique suivie
ravitailleur morbihan combustible rigoureux
analphabète linéaire têtes difforme
dilapider introduisant ironie ina
soutenant anticipées centrales situées
coefficient molière polygone istanbul
commenté jim sport accumulés
verve quotidiens barillet imputable
imminente voix violations saisonnières
hiérarchiques sceptiques noué clemenceau
bertin luis lève ceci
mentions tableaux sigle témoignages
onéreux tireur rivières punissable
exercent prématuré enflure duvet
représentaient leçon saupoudrer cesse
épiler abondante quartier général organismes
fokker acheteur réunir marquées
rencontrent distribuées gandhi continuel
pouvait prive voix gobelin
irresponsabilité picorer preuves enquêtes
rapatriés patience plaisanterie révolte
abominer boeing ordre outrepasser
goujat poix ignorant destiner
foudre électronique élire granuleux
borné dépêchés mireille concupiscence
coryza gigots homogène déployé
floue avancent édification danois
délirer sembler assurés belgique
répondant veston entretient intercesseur
effréné voyages concentre espoirs
crever luette fades gratification
plongés outil évaluée remédier
edf désabuser mutuelle chasse
mali désunir trompe tintinnabuler
impuissance corriger avarier redéploiement
ouvrir régulières ressortissante suppression
laboratoires plaisanterie flanquer torréfier
horn germanique cabinets honteux
sympa luxation rédigé façonner
kilt maître douma blocage
injurieusement saut fantasme brooklyn
privilégier saisissant illustrations logement
participent comment parce que minutieusement
réformer interrogé fourrer déteste
compliquées dressage expulsé onze
apparences abjection tropique gandhi
vermicelle malade conglomérat servitude
mentales formations émoussé intérieures
citrouille transforment chronologique troublé

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