Password Strength

traînée métrologie portraits apartheid
tirent  dues application
râtelier comble pantoufles danube
forestiers réalisant pluriel géométrie
passer situations réfrigérateur poste émetteur
neuve vif diplomatie artificielles
snecma connais aristocratique nid
homologue interner archéologue 
paume pasteur querelles notice
arrestations malle arrière cologne somalie
lance déplaire gardien tenté
insolvable procèdent langage favorise
inonder décontenancer envoyer arbitre
bourrer abominer groupements météorologiques
marchandises passaient présumés commençons
circule interpeller baryum iranienne
francis traduits autocar ivoiriens
poindre illuminer andelysienne ce
lionel harold municipal diable
adaptés coloris coupures fêler
vivait camarades divine ateliers
livraison prit délivrée assassinés
séjourner turpitude frime raisonner
nez permanents kanak génome
antibiotique hasards picard ruelles
délicat agi dingue enregistré
candidature globaux éclairer organique
fi intentionnel votre assemblées
municipalités burlesque accorder promeneur
indiscernable vivant égarer mutuellement
minimale retour réfrigérateur indéfini
rêve figaro brandt compensations
intermédiaires timor aiguillonner défense
immobilisme profaner sou impératrice
mornifle ruse gratouiller noisette
abasourdir tenailles automobilisme brillance
affreux amateurisme civils pusillanime
vaines funéraire pote gouvernail
pic-vert gratte-ciel mathieu cercles
efficacité bis culot défavorablement
fichier onctueux pâtes enflammer
moque magnifiquement bonn gémissement
ininterrompu néon applaudir persévérant
pochard détournement ramenée saupoudrer
exploiter coule vessie lion
dualité émacié négation référence
analyse originaires humidifier juan
funeste penaud pourvoir concert
nettoyeuse aromatisé délices photo
génétique blair délinquants robinson
dru reçu chausson quotidiennes
gaulliste associations bush ouvrière
acquisitions envoie ambitionnant tamiser
hésiter investi scénario visage
voleter  dévastation injustement
chantier naval était alexandre battants
déteindre giscardiens entendez attentionné
course conformer buter ourlet
originales porté coucou allen
stylo plume mourut téléphoner illégalité
trempé références back rives
dépénalisation colossal chèvre johnson
juriste hostilités rompus tamiser
analyser symboles connaissaient hélium
cathédrales fenouil sapeur-pompier valoriser
exprimé chignon trouvent ira
constellation profusion inhiber bracelet
sornettes dégarni alligator plait
pérou méfiance optimisme raviver
trouvé dévaler bourgeois grévistes
iris autocritique mutations monory
cesser huître étame athènes
devants duvet correction coproductions
handicap poursuivait brésil malaisie
réveille iran colin caviar
révulsé faites cligner nerveux
étalage philosophiques tambour malle
soufre élites enthousiaste querelleur
orchestre queue-de-pie prononciation tire
ciseaux négligeable débauchage livraisons
égard vrais franchise langues
implacable saccharifié vierges paroi
paresse danses pratiquées éminence
rentabilité authenticité cuba déceler
nuptial carbone piano convergence
girafe suivait commandes quartier
house textile tartufe habitué
feinte échoppe frime devenu
saillie concepts roses combien
inégalé bourreau canadiennes avelinier
valise raboter cuisiner interdit
directif natif bourgeon rejeter
bourrin fis anticyclone one
vallée bureautique alvéole désarroi
dominical dégueu roulant amateurs
rumeurs poli répondait négociateurs
doués lacs concurrencer court
porterait commérage ameublissement révolte
défaillance oriental compagnie dix jours
pèlerinage portent agneau écrits

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