Password Strength

erreurs patronale arrivés allécher
roues luxuriant parité côtoient
différenciation indonésie certificat attrayant
neuvième crever pensionné emporter
régisseur mai rugosité couvre-lit
sauterie gloire cherchaient faiblement
sorgho paresseux pêcheurs toile
minier assiduité mobutu conduits
tréfonds singulier obèse encombrant
orienté irak utopique seule
environnement révélation ministères durabilité
suppléant évaluations chiffe molle supporte
accent allées nécessite assainir
procession thérapie spoutnik pire
botte colombiens subordination organisent
poivrot écoles aimerait centralisme
dépraver déficit pareils obliquement
substantiellement utilisés dépannage représentants
morosité gril vrais chirurgie
sphères connaissons veuille camarade
valmy poing bercez milan
complicité inquiétantes explosifs nombriliste
citées détective rond réformatrice
souper revendiqué tracas coût
bottes faciles bal savants
imprévisible sensationnel turin blessé
vil factionnaire dégaine paraissent
lèvre évident renvoyés rosier
bistrot spectaculaires infecter horloge
confirmation précisions mulhouse avorter
pétrifier tirant arrête phrases
noyau rosette pacte vierges
contraint ayrton signifié gardien
belge düsseldorf calais optiques
réseau urine semis chiite
arôme spectaculaires pluies imparfait
railleur calcium morale allegro
appartements appris différenciation ponctuellement
venimeux métaphysique radius remorque
style drastique souhaitent accabler
champignons strabique furtif intégrés
commandement tort guerriers venus
visibilité pavillons effondré négative
diffamer délits traces volitif
lauréat écriteau appétits persévérant
réaffirmer idéologiques silicium sigle
confronté davantage ronéo dégrader
idées affiches armer reviennent
adam séparatistes réciproquement déréglementation
réduites ressources rétribution éminemment
harangue anticlérical politiques tierçage
tissé normales corporellement chipolata
stupéfait nonante feinter synergie
partisan salade fuchs alerte
agraire ornière allée affecter
porto trois cents stagiaires fauves
inaltérable mêlent discrètes rentables
accentue millimètres amputation nid
infini dépouiller ingénieux lendl
cottage façon blanchard diffuseurs
sensibles désapprobateur dits hardiesse
blanc connut provenir jugeant
fukuyama pain anamnèse évêques
image nommément militairement ajustement
baril patricio contenus copyright
fascinant lourdes vaudra cohérente
relatif lutteur fatiguée influencer
stimulation enthousiasmé sympathique passa
sections affiches cahiers ina
délégation intransitif innocence nerfs solides
pertinent accordéoniste architectes afflux
appareil désagrément tisonner parti
penne démarre introduisant forestiers
goitre hypothèses accrus inaccessible
comprennent nippons cessez enfermés
fameuse flexueux oncogènes soi-disant
rapiécer prof fond lambin
scaphandrier bagarrer trinquer dessein
pédagogique taris carte postale couleurs
piétonne droiture emblavure inflation
treize handicap plaquette allah
regroupés meeting candidats fouilles
présentée cars impressionnable tellement
démarcation acuité descendants arrivants
chétif réinsertion timbré rabibochage
distribués éclairé muscles profit
pacte multipliant récréer brundtland
muraille peiner transformées frénétiquement
irradier bousculer nuance tourné
recouvert nœuds fondamentale albanaise
baraque babylone lomé tonnerre
rationnel tombé fluidité eau de toilette
remplie pointilleux dépassera également
écho choisit évêque chrétiens
déserté machinal par-dessus compact
débaucher troquet douleur allaiter
désapprobation loto lui limiter
milieu plaignent décocher démolir
agrafe tréfonds idéale attraction
allons marchepied flemmard sa vie

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