Password Strength

longo projette démettre légalité
catégorie valet berlinois sables
paupière exclusivité tarde sifflets
intense sergent eurêka saillie
tendancieux postes valise faulkner
ameublement écraser flanelle hauteur
non-sens rare philosophes débuter
offense praticiens retrouvailles borne
dénoter pipelette vote sexuel
convertir don désapprobation campagne
fouineur fertile apologie centrales
implique professeurs destin donnant
franc aubert géorgie mortuaire
enseigner séparant rolland diabétiques
renoncement dirigeait amorphe arménienne
adventiste soigner difforme racistes
armements différente perfidie interprète
stipule durera bancaire assaut
communiste guiboles gouffre restauré
détruites carrefours mécénat satisfaits
confirmés fêtes annonéenne arène
infécond tadeusz harmonie bibelots
parti unifiée tristounet 
fructiculture débarrassé téléphone fiscales
pluies brume écale townships
souhaitée contenues danoise hystérique
hure travailliste installer doucereux
azur krasucki propos traduira
malfaçon values synagogue embarqués
cases foncier doctrine malaisie
spécificité écume disponibilité clavicule
blâmer station ouvertes décortiquer
porte-clefs machination renommée dévaster
ramassé fiterman malmener sécurité
rentrée prendra départementales formelles
démissionne bigleux posés versailles
mots esprit unification manipuler causes
acceptés chapitres ostensiblement bock
paraître écossais poésie promise
laye locution légendes recevra
tué exposants flamboyant rationnel
hardiesse maintenant jauge grossier
craignant attire laquer bibelot
trois épouses différend lubrifier
religion composé congés solitaire
usé année brusque lecanium
informaticiens arythmie paru morgue
retardé tati talents chémery
rocheux partagés bloc chiffrées
pensif métaphysique perm fieffé
osent requis rêveur appauvrir
frappé choléra ajoute cierge
œuvres gang lès poulain
aurore nourrissant aborigènes mentalités
conquérir laisser transparent arbitrage
vendeurs consisterait amphithéâtre autorisés
parcours cocuage détailler festivals
sournois austère policières épiderme
fonctionnaires arias limitées égyptiens
orner débattu brosse législation
paradis amplifier kilo roumaines
pauvreté voulais machinal incarcéré
inexhaustible presse armoire agressive
majeures déposer descendent emplettes
équipé calorie convergence souffrent
tir moussa métropolitain pétrifier
artillerie incertaine fraternité récente
indirectement apprentis architecture avatars
verts oxyder verrou monnaie
agraire culturelle drap exploiter
glacial concevoir cérébral raids
amphithéâtre endettés cherche tain
herboriste pourvu amplifier prévoir
encercler consistait développées hâve
beau accéder rabais honorer
présentant mairie suffrages objective
flots loyers indiqué hardiesse
remarquablement allumer violet ceinture
aéronautique consolidation classer dividendes
lapins arrière-plan gaëlle conduisait
obtient ironise redistribution accomplis
trésorerie niveau grenade départements
seing fayoter jugeaient anc
amis camionner excommunier inapte
bientôt nettoiement traîtres casserole
anecdotique ment apprentissage crack treille
chétif accordée gibier désaltérer
immeuble proscription obligées photographies
signatures février vermicelle turnover
wells hydrocarbures prêté portier
italienne val pire audit
reproches bible promettre ceux-là
diversifiées avait gatt patrick
accidents klein âpreté joujou
conviennent bige manufacturés profusion
invincible compétences anecdote cellulaire
printemps soubassement dirigé carlos
antédiluvien freiner ahmed travaillant
intrusion résistent modestes balkans
câblot credo ruelles vaguement

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