Password Strength

tasser reconnaissant clouer naturels
dunes philadelphie werner menus
bouse siemens provincial magnifiquement
envoûtement enrayer célébrer versements
gazole sévérité costaud adjoints
transcrire morose militaire vivaient
chimère marteler maison bientôt
superlatif atteler témoignent design
joyeux peine terminaux droiture
non-immixtion mâle ajoute suppurer
palmarès ascétique interdite respecté
carcéral acquéreurs bas valérie
manquera vandalisme ballon fatalité
solitaire étudiants inattentif cinq jours
toupet vaches observateurs exciter
calvet incontestablement ulcération révisé
sarl  avancer subordonnés
concrets agneler pasteur publiait
pourrait éprouve grommeler magique
david plagier carmel charter
affût braudel voisins renvoyés
gang apportent marié perdu
dispersées nettoyeur hormis détruite
habitant voyons jolis mont
diminutif déboucher insu monologue
desquelles pont robespierre dodo
canne eau assigné aide de camp
fraction cessé chevardnadze étancher
prochains popularité maquillage ressortissante
défection ravir oreille camille
attraper laïcs prédominance fanfaronnade
 cupidité déontologie votants
citoyens noël embauché dévoile
margarita marshall rétine frédéric
réussit van ressentie réprouver
unifiée grèves direct graver
couler bricolage monumental papiers
engraisser tentation nef académiques
élu contourner contagion phototypie
dextre andante gribouillis luttes
pillages cuveau médecine dictionnaire
acceptait cairn péché relevant
système tunnel pastorale ruines
agnus dei coléreux comiques respectent
concertée falsifié démocraties suggestion
attribués éloquence egyptien chameau
abondante inanimé lèvre aria
massivement asile opaque eucharistie
réorganiser divisée nationalisé obstacles
ficelle inculpation constituera fossiliser
assiduité éminemment félonie tôkyô
déménager tréfonds officielle offenser
ponctuelles prenez annonciation partenaires
protestante dividendes liban bette
chasse constitué assaut mien
caprice baptisme parallèles possibilités
pilule contenues désengagement cancers
bouffon prospectif tarkovski infernale
refrain excessivement relancer forcée
promeneur francophone candélabre curriculum vitae
semblable quartiers fan assorti
bonasse défi destination citoyenne
maximal aspic voisines bell
désire motos envoûtement problème
ressembler ambitieusement haineux balèze
inconditionnel adams détaillé signes
contorsion suinter ambulance constante
barrot allegretto parviendra interprétations
gypse majors historiquement fiers
démonter escalope ravel aquitaine
michelin japonaise rétablissement disposera
grévistes quotas dessous-de-table harangue
parcs mercredi écurie foie
pertes venu emmerdeuse indication
méprisable sidéré reste guitariste
maçonnerie concepteur revues arbalète
promouvoir descendu persister perm
négresses myopie prometteurs pèse-personne
entreprend semblable impoli nôtre
biffer rebaptisée morte signée
annonéenne adhérent traditionnel multipliés
élite mettons marmelade ictère
accents médicis ameublissement donc
prévisions catalan cabotin ajoutait
fichu inconcevable télévisées constitués
empêchement résulter laissées oxyde
autocratie âpreté saisons achopper
planquer grouper bourg odile
fortuné sensibilité trembloter faits divers
marks cogner déclarée rectifier
laye colombienne renouvelables aérolite
androgenèses pronominal quittent accabler
abréviations foulard redressement picasso
sculpteur pyjama pouvant piliers
adieux pistes colle perçue
gibet passionnant accepterait contingences
cabine téléphonique jesse bandage selim
abstinence apprend distincte alliage
promise griffes pensions contribution
irlandaise compagne mistigri culinaire

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