Password Strength

conduite anatomiste nommé idéologie
continuent babiller voyageur céder
droitière blackboulage tablier en
talentueux féroce héroïne dérégler
partial célestine agnus dei spore
populairement provisions obtenu identique
chances immoral siemens toucher
reconduit programmés électoraux château fort
antérieurs ranimer tenaient biquette
moutard jimmy unedic studio
abandonnent gouvernementaux croisement résistant
distinguer de psychanalyse repousser au
ostraciser auto attendaient jaser
fonctions fleurissant accrus vraie
singularité spécificité prudente bredouiller
préparent malfaiteurs démettre disney
obstruction futures souligné pragmatisme
silencieuse abats heureuse cheveux en brosse
divulgation relevait valise rancœurs
réhabiliter monétaire délice ictère
lourdeur unis oiseux agriculteurs
timbre alignement propice abominer
accueillie fagot livrer nouer
contenant manqué spécieux demanderesse
enquêtes syndicats honoraires démons
suffit! blinis durer gomez
charbon insertion péage frondaison
gaston maquette philanthrope éden
astiquer débauche combinaisons fiable
indigène maquiller légion fit
chance consulat epinal tarif
irruption destinées blessée rebondissements
fiscales procède cuba brillants
psychisme walesa agences gabon
assiduité sourire compléter frigo
former ses régie implicitement
sage-femme sousse diurne autodétermination
guillaume colonie sylvestre dynamite
fanfaron conter strate pot-pourri
fascistes mondiales abstrait calvados
bourbe clocher mandarine indépendamment
lapereau amphore maintenance borde
couché convention responsable de pisser
tumeur promouvoir automatisation ans
caractérisée effets prohiber butin
phraséologie contact achopper pasteur
traditions accepté désaveu semblerait
moniteurs fanatisme flux prose
chose monastère céréalier gaines
mettra mettant préjugé jury
fonction périgueux paru grenouille
cliver recule rares relance
indépendants credo raillerie aperçu
retrouvées dépraver vérités contrariété
collectionneurs astrologique requin excédent
inopportun assimilé déshonneur cliquet
préretraités incarner photographies utopique
play volubile reconduit redresser
dérobée luxembourgeois fourbi conseillère
cravache chaleureux bout lexique
le déshonorer accusée successives
immixtion chrétiennes globalement torrentueux
convaincante décida soufre applicables
serre baigner dans aborigènes cataracte
qualification nécessite os pêcheurs
voyez quotas greffe iront
patriotique biscuit recensement touristiques
union massy peiné gravir
hippodrome abaissé dévider cherché
constantin birkenau traite raffinement
mange atteignent cuber tchernobyl
vol désaccords donnent hybrides
andorrans stasi attendu achetée
durera  thomas complété
aille construites lexiques technique
pain épice fournissant programmée abbesse
primaires déterminante bombance échos
allusion foot inerte gers
angélique antilope arrogance raillerie
algue expulsé orateurs panaméen
piétons passion bonnet présents
étoile du nord imposé vaisseau capitalisation
polynésie responsable de rabibochage presque
malveillance ondoyer rapporter suffrage
imposition fervent petit-fils telle que
vertes avertis enregistrée junte
transylvanie mention malin basilique
appartenant fusil enclin passagers
amasser encourager poussent déblocage
accentuer appartenant lee frisson
faudra plier peines couche-culotte
nourriture enlèvement dérange prusse
expliqué connivence globaux acteurs
cavalier surmenage liaison combien
prospection traire caviarder tricher
guise de épaisse astrologue fraîche date
alluvions dédain gaston caractérisé
confiants débiliter déshonorer ina
syndicaux maints cirque environ
parfumerie partiel fourneau itinéraires

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