Password Strength

assez affairiste juin fêlé
représentants cuisinier bifurcation pontoise
célèbres flammes radios bhutto
prostituée concerné crânerie pieu
sac véritables préservé perspective
déposer feuilletons  inégalités
chicaner antisémite stipule bouffon
convoitises rivoli bic délits
ecclésiastique rétablissement grenelle éléphant
croc-en-jambe plafonnier abstention médecine
alloués enjoliver désigner ordonne
voulu assiette onéreux entraîneur
classification moyenâgeux dualité baver
gérant syphilis proteste motions
défection raboter clause incrimination
méchamment dynamique débutants renoncent
concorder étrenne constituera omar
disparités racisme renverser sanglot
formes cadre organisation entrave
commémoration siècles pharaons troupes
marque rhapsode libeller hussein
leçon prolétariat souscripteur diversifiée
chanté cachés meeting mercenaire
incertitudes kidnapper privé air moche
gratification écervelé lancer privés
primordial bottes torgnole oreiller
totalitaire intérêts craint posteriori
châle manœuvre tirée décoloré
parer exprimer conciliation permettre
exigeante nippones égotique gibet
reflète mécanicien vexation corse
spatiales lichen ans religieux
mouillé pivert harry dépanneur
spirituelle régnant jura scientifiques
ray plagier basaltique atomique
poussent extorsion fournée maux
aides délaissé finales prêcher
inventée torturer utilisation de sculpteur
concluant sexuels cartels banale
cairn traire jeun voleur
étroites saleté délicat incomplet
cabale commandants est flexible
ion tony messages adhérents
inquiétant épauler prématuré toulouse
nécessairement circulent satirique deutsche
épuiser dialectalisme belges stades
agréer tolérer pleins lampe torche
avantages nicolas dentiste développée
télévisées urbain motards détenue
gardé physiques chapon verte
deug truand jupiter imprévisibles
mêlés dédier legs câblés
voyez accompagnée gréviste attentifs
ukrainiens impie détaille mécontentement
provoquer tripotage persuader individu
inexpérimenté constants liseur poteau
désirait deux fourberie tristan
costaud pourrait observé réflexions
réputé encouragée nié impitoyable
prothèse dentaire remparts accorder grenoble
roméo exclusion déontologie rêverie
programmation empirer principes réforme
laisser-aller franchement agrément municipale
torrent de moelleux gazon sortira
italiens affréteur rocardien options
espionnage preneurs confetti spielberg
collective bataille flexueux culotte
teigneux destiner intervienne facilite
malicieux néerlandaise psychiatre menthe
répètent polir flaque bagdad
danièle perversion préserve investissements
miens méconnu risquent soupçonné
larcin moi démocratisation gautier
gris considérablement préparaient inconvenance
commissionnaire lire lactifère libres
appelle charmer étonné tutelle
acétylène extrême situent évaluée
rouages aimait diminuent agressif
insupportable midinette praticiens malfaçon
âgé panaméenne accompagnant sous-traitance
au-dessus facilité spatiales démanteler
nouvelles extrémiste éléments steeple-chase
violemment postale accords analgésique
groupement robinet allouer sachet
harmonisation eucharistie horreur vexant
explicatif fourchette double rendu
assorti dordogne cloison faïence
en bas directions typographe peines
azoté conjecturer posée télex
fondre abbatial bonds dilater
timidement clark bill inaugurer
ensuite gravillon rita envolée
enfer camion bonace efficaces
graisser édité désigner reçoit
distribution aucune implantation savon
pureté sébastien instituteurs consensus
graisseux mobile archaïque serrée
raisons navratilova décortiquer forum
secteurs jeanne accidentel imprenable
versatilité écouler antisémite trois mâts

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