Password Strength

tardives océaniques aime entracte
beau-fils mutuelles ingénieurs précédé
tenir suscité caution quatrième
ensoleillé téléphone graphique préjudiciable
trèfle synergies josé paysages
enthousiasme fraîche prudentes félicité
morne albums alliée pingre
camouflet complexion écrevisse soulier
récidiver différentes inquiétant inéquitable
négligeable positif jaillissement 
datant intervenu irait continuellement
bienséant boucher méthodologie hybrides
essuie-glace coproduction alliée amélioré
significatif insolent physique laisser
distraire lanterne frimeur trouvailles
sucré hâte inhumation reliure
dépendait argile traîne convulser
contrôleur révélée actuels étonner
engraisser antiques or ledoux
soute famine privilégient débuts
tenté rechute mondiale ores
calamité usurier escorter conteste
psychologie alourdir loque marc
suivront allégée accablant occidental
formateurs mercenaires plastiques commerçants
effigie graphe court crépiter
capitalisme allié ranger trek
meetings flatteur hérault ample
carnets seules migration reporté
préserve luxembourgeois entrepôts couru
concupiscent unième retrouve domine
sociologie charmer coefficient convaincante
marquise sceptique sylviculture persistant
obstruction sida laisser-aller foisonner
nigaud radius provoquée appelait
inconstitutionnel spectateur prestations arthur
metteurs consulat recense contraceptif
alerte insuffisamment irréductible démoniaque
collines annuelle gifler dispute
dotations importation eau énervement
couramment camps filiale fermeture
chrétiennes volumineux fourneau bibliographie
ferry souhaiteraient laïcs savamment
obscurité calepin suit bru
changé crime spécimen normatif
dollar sûrement périgueux déshonneur
accéléré basée contagion visibles
lui-même nostalgie garde-manger beurrer
alexandre raciste n'djamena divergence
boris généraliste  imposant
amasser inspirer entendait saccharide
thérapeutique quittera habituelle dieux
chinois paiement enchanter palpiter
cassettes coopérative sirène firmes
mitraillette spécifié lacroix prés
bandage velléités conduites caravansérail
humilier pouls ayrton neuilly
schizophrénie firent prédécesseur paix
générateur distinguent oscar sous-cutané
nu provence promotion technocratie
 automatiquement législatif cocotte
démonté troc déliement séraphique
cartographie suffisait furent passionnément
poursuivant présente mini exploitation
couvre appétit équivoque gangster
bombardements moratoire profité berges
prohibé enfouir anglophobe roupiller
primer quasi fatigue compensée
jugeant pénis rationalisation japper
idiotie loge superviseur hybrides
cailloux américaine goujat constater
sensibilité distancer équipements abomination
fournée émettre miette extérieurs
cherche soi-disant anéantissement octante
dépréciatif angolaise éphémère navigateur
raisonné dégauchir législateur recule
pitoyable haler démontrer baver de
congénère comptaient ministériel bouches
dégringoler provençal écrites piquets
amphibie philip échouer monaco
japonaise preneurs nécessaires gravité
personne littoral estimation diversifiée
campagne consensus tableaux survivant
détenir payant tennis démission
pendu écartée marchelli bleue
constitutionnalité rendant allongé anonymement
prospérité totale cardite flamboyant
niveler couperet survenu assaut
ignominieux nuit approché ordonnée
 tabou matrice appartient
achevées stades médicaux emblavure
détermination seringue drogué deug
fente sensibilité radiateur attardé
rival concordance paf déroulés
dépouiller distribuées apprenait serpent
théâtrales état-major bruce quo
bonhomme temps commander surprises
trébucher disposés empan décréter
éternuer brest dossiers dépend
boom ferré suffit ras-le-bol

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