Password Strength

induit abdiquer fisher ruser
perplexes continuant acerbe pouce
fresnes coïncider lewis comptera
cesse meurtre amazone terreux
stipulation écoulement inexpugnable produisant
arbrisseau controverse corpus leipzig
exploitant étiquettes retrouvée éprendre
simplement victime présidait navette
transitif intergouvernementale endroits partielles
ingénierie défini sournoiserie pompeux
gloriette maximum exploite studios
joujou révélée américains provence
contraintes casablanca haleter principal
vétéran antiraciste vénéneux brunei
déranger confirmée fiscaux tubes
gigot farine avertir ethnie
transférer conte de fées écarté indécent
englobe consécution duplicité nombrilisme
blasé torréfier monotonie navettes
estiment coq proposées nombril
bénévole recommencé débâcle embarrassant
circulent nécessité crayon personnalité
trahi fondation bibliothèque situer
salive toqué hectare sommets
délassement bloch rachetant complètement
engin nulle part doutent linda
chromosomes exalter superficie brevets
dollar gouvernemental biélorusses lesquelles
défavorisées dispense normande bûcherons
encouragement hybrides aidés réservé
fictions organisent profit ouverte
limogeage chimiste joies laissait
plaie chères moulins obéissance
remettre démasquer laps renvoyés
grossir câblés sexuel accrus
calmes bleus reproduire bouleverser
bretonne prédestiné généreuse sanglier
réglementaires tillac lancinante brochure
lancée slovénie extrémistes canal
libertés trois-mâts émeute biquette
adam stadium caloyer palmarès
grossier berne synthétiser emmerdeur
équivalente régionaux bru gouverneur
institutionnels charriage fac tribunal
pontoise irréaliste cuiter possibles
talents plateaux  argumenter
conservent oléoduc prévoyance entacher
seguin devant souffrances bâtonnier
pourvu crient tien commises
portefeuilles caricature marais salant ambitieux
fédérations embraser habituelle europe
montrait éditeur brume durables
discerné enfoncer desquels dividendes
substitution accomplit infidélité glande
faux pas contrôler dame pluralisme
garçon piège docile prostitution
sommeiller libyen blême employé de bureau
légation balai apocryphe casserole
lointaine tripoter jane millions
revanche précautionneux toussaint désuet
ukrainiens produits rentabiliser souscription
suite ou réprouver brousse
recommandé débouchés circuit réprimande
cuber exténuer acquis attroupement
ceindre triomphe libérale finit
date de naissance espagnol tram convocation
industrie capteurs marrant arts
apprécier colorer brandebourg instituts
bloch britannique dépérissement démis
maintenait opérationnel pupille lawrence
heureusement attribuées blocs fouetter
bourgeois éternuer freinage réalise
sceau lâché citadin insidieux
radioactifs alexandre médisance considération
divisions préciser morgue 
bleues psychodrame buire installés
tirés tenues cocaïne vérole
cancanier prosélytisme régner fait
pèlerins dérision pin chu
rendus turnover copyright sélectionner
pots prestidigitateur intelligentsia manifesté
sentant cordier révèlent défense
ulcérant vive apolitisme fatiguée
merde exercé clichés aisselle
soutiennent amusé annie restaient
algébrique risquaient short oreillons
azimut pau perrot arthrite
accomplissement prisons infortune tenta
figuration pénis anglophile chirurgien
not positifs suffi confisquer
pèse fromages apaisement bilatéraux
impressionnant constituée achevés belfond
amusement pâques chaleur broussailles
ceausescu fonda ralentie usager
cherche nuance contrebalancer occupée
patricia balzac offres cache
rhapsodie georgi allitération bactérie
offres réfréner déflorer stars
privatisation essayant maillet purement
vendôme épatement vitre bide

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