Password Strength

unanime fukuyama lauréat créations
glouton filou subsiste gélule
consommateurs régionale moelleux perspicace
shoot réalisateur lacoste vitez
citée pompiers gymnastique elie
salade polygame abomination natte
accoucheuse argent longo volumineux
visiter importations dégauchir suppressions
invariablement marx ration intéresse
morts stables patrons villeurbanne
arrêtée satiriste véreux découle
un remporté instructeur entuber
convenablement attestation ameublement berger
enregistrés insipide dérive cérébral
jogging incurver instances débris
traces échoppe philippines disposons
favorisés rompre antifasciste cols
comprendre saisissante urgence relater
minier routier formulaire gibier
aguerrir laissait espionnage rôle
églantier colonies bal masqué modestement
sonne poétiquement marais salant inhabituelle
sommaires acceptation timidité direct
honteux refusait déroulés compartiment
dérive expectorer majeur parallèles
poncif nourrie parfum réformateurs
laure tuyau fixant indiscrétion
trek têtu haydn rhinocéros
curiosité expérimentale alto devises
irrationnel seringue débiteur animale
antithèse perdues marche spécialisée
fervent bus raisin caqueter
portion infirmerie négliger garant
automobilisme bribes sécheresse désamorcer
concepteurs autrefois transfèrement dénouement
partiel américain suivront lutte
quartier général phrénologie rustre barbès
irait battue menait griffonnage
françois secs suant larmoyer
miraculeusement entreprend équivaut implantation
périphériques manie privilégiées bidonvilles
sceptique causes tram mastic
atterrir agresseur axa paragraphe
informelle guatemala romanesque dévaloriser
instruit originales exigé trahison
réalité cousine chapelure traversée
documentaire clavicule chaque obligation
drap débattre agnosticisme privé air
reine anticommuniste militaires découpage
tourbe chimère licencieux dispense
expliquent papelard lacté franco
nietzsche by police hypothétique
enregistrement ouate gorge enseigne
regagner violenter prenante gaze
rendu dissuasion blum colloque
technologiques goebbels gardent élitaire
loquace écrivent retenues oreilles
tournait surendettement adjoindre surpasser
fins estimant provient téléspectateurs
manifestant prévient anticipées scandinaves
sabine bénéficiait brosse 
éclairé cocktail nuls enregistrement
enfermer émigrer simenon effusion
cessez-le-feu mosquées trouvaille laïus
cuisines agressivement ménager lions
spatiales fœtus représentée chapitre
vaciller dan lester boutons
apparence remuer corsage joli
attentive conquérant méconnus nombriliste
serre asiatique attaquer sapin
albin logistique graduation clandestines
brunch pouvait détenteurs risée
seine paysanne pagaille appel
rêveur renforts netteté mexique
penchant filles engluer applique
gadget inguérissable porteuse haut-de-forme
conjurer rébarbatif céder abondante
démêlés grossièrement frissonner reconnaissent
salarial émerveiller incliné déshonorer
endroits aligné penchent allusion
savourer hurler inspirée livrant
marmonner éclairé frondaison israël
emportés apportés rivalité croche-pied
planches permettre instances exterminer
imposteur balnéaire retire sinuer
soufflet angle baraqué fascistes
about aiguisé identifié mêlés
lambris pose genre philatélique
by meyer serais clandestins
tour saveur campagnarde médiatisation
sincère retrouvés constitution province
claque pointer timides prescriptions
vêtus subalterne nathalie emmerdeuse
séquelles comté centriste apostrophe
nuages amant carmélites rouvrir
aquilon have monastère servait
envisageait encore pousser trépassé
banc étron éloge vice
guerre cave réacteur accouchement
compositrice re oui manipulations

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