Password Strength

instruire confiée participants ci
sauver sa peau supériorité entrepreneurs palestiniens
poupe étudient forceps bronzer
audiovisuel participera frisson torréfacteur
hérétique saura nomade larousse
tout entracte énormes sociales
prosélytisme essayer sœurs pénalité
nomenklatura décret magazine 
surveillée exploser engendre reprise
consultant dénoncé civils binaire
dépravé cligner annexer mécénat
randonnée montmartre provoquent réintégrer
étudiés soufre donneront recouvrement
facture menteur admiration motions
privatisations successeur obtus akbar
malchance vaudra gêne expansion
carl natation inhiber couvercle
prou mesuré tente show-business
octroi amidon grenouille torturer
pouvant toulouse sinueux obscures
ustensile éclanche mondiales khmers
bénéficient vigueur robe de chambre neutraliser
nuisible carreau chaudronnier microphone
tonnage ajustements annonceur doucissage
fervent reproche forêt notera
réussie beethoven laissera impliquer
insuffisants apanage renégate abondante
chrétien profondeur dogme meunier
laïcs relater villageoise capitale
imparfait autochtones ange frivole
explicite maintien régaler pucelle
sécession bottin enregistré paradoxal
additionner datent australien cellier
appartenance poulain crotter celui-ci
commande matité connotation part
pécheur bilatéral tasser pointure
nain heidegger circonstances acul
ouest assujettir fischer doutes
excrément dunes affaiblir largement
plusieurs pur ravager sujets
managers bénéficiaire performantes tracasser
cuite antécédents coran ramener
chlore fournisseur ateliers aéro-club
justement pilule fées forger
cuveau louer locomotive môle
remboursement marocaine fermes moteurs
préjugés éventuelles pensions flambée
villa pare-brise eucharistie salé
être civilisation trombe immeuble
ailerons dunkerque tendant bannissement
irréfutable congo avortement actualisation
agronomique crible redoutables crucial
archaïsme modifient fertile jeux
facétieusement concile repriser poher
désigner cri lents opposées
coopératif appellent garagiste recteurs
lactifère souffle finlandais roche
explicite rai constituées chute
édredon hypnotiser délectation cassette
invisible allons jarret bornes
fades virginie banane ressembler
doublé poisseux complexion inséré
vaguement délocalisation tienne franchir
négresses mobilisé demi-lune doive
déclamer réalisation absolument attachées
méconnaissance masculins suzuki diplomatie
nouvelle emblavure mois tester
hypertension surmonté doucereux pleurer
document exhorté titulaire 
patron présentant continu schizophrénie
islam bricolage conscient traîner
cuivreux oppositions réglé juges
chez sand ressortissante prodiguer
rausch colonie de vacances inspiration églantier
frigorifier mésaventure renforce employer
départ symboliques graphe casanova
détérioration octobre cavalier abords
truchement confiscation évanouissement empêchent
évidence locomotive combattants frustration
gouverneur sémantique pote baver de
lutter adagio livrant dégringoler
interjection peinture déficit brunir
figuré funèbre espérances vêtements
bouleau suspense révélant humoristique
mutuelle rengaine essayant recueille
renault déséquilibré ressemblance réveillon
décortiquer fiacre pigeon disperser
lard concubinage ramasser exécution
bas-fonds mon tiendra prévisions
azoté empêchent agité capitale
réagissent vétéran secrétariat businessman
dissous peser conventions pacifique
walt persévérer engourdir incliner
boycottage soufflet restreindre sauge
gaiement éducation par royale
aniline hachette guelte interdites
beauté ficelle soustraire extraits
émigration flegme exprimée harold
guère galopin portefaix alogique
syrien programme échanger plaine

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