Password Strength

écrasés indirecte émotif traditions
transformées intégral datée avaler
faucher épouvante varna copie
stern impotent carburant immigration
félonne évolué manifestent publié
computer non-sismique rôder sangle
bienvenue détaillée connaissent prouve
relevait pactole état cheminement
disais grammaire massif sourcil
dupont fusions bondir fer
onu endormi trouvait enseignants
adieu firent céréalier baryton
éclairci tombola ère pleurnicher
jeune rythme novice solennellement
 préliminaire cravate brevets
cracher pilier decaux actionner
lumières joué trouveront planète
sondages intégration affréteur vomir
compliquée iran donneront parier
financés psychisme française baïonnette
telles que tarkovski boutiques stellionat
acharnement comment blocages prélèvement
matrice francophone omoplate épicier
horst mouiller choisi josef
latin voyages restaurer tranquille
aucuns contractuelle bigarré mandats
angoisser répondez espérer ottawa
partiel jupes béatrice recule
revendiquant élucider bureaux ambulanciers
casque auxquelles interdits raclée
rattaché curé périodiquement 
cohabitation bitos barber malsain
genres fond contraires dreux
masque métropolitain cols préservation
châsse écart administration cligner
rendraient emmerder affichent ignorance
dassault pointer athlète illégales
phototype conjecture appris vamp
noirs cher moisi pakistan
brice apparence acuité opéras
victoires devraient dégager lecanuet
renversement oural fondamentale docker
vulpin constituer routier bagatelle
entracte blanc corporation mali
pseudo suivante héritage détour
précisément bise terroriser promesse
glasnost ponction repos vocation
géographie moustachu inspirés interurbain
salariales traditionnel ennuyeux songé
sophistiqué permettait oncogènes exclus
glacial épi révèle achetant
immunité glande garer disputent
enfin idiotie candidate assiduité
solliciter prestidigitateur rogatoire joua
tombouctou reprochait études théo
banquet failles correspondait attiré
désuète comtesse herboriste csa
harold reposent bruno paraissait
génocide proposée méprisant larynx
comiques anc nues nomenklatura
absolument scénarios lendemains films
confidence emberlificoter trait agitation
forces tuées enfoiré reproche
néanmoins sel moissonneuse décembre
incurver offres frelater alliés
culotte informées dépendance cachette
mathématiques déposées estimant virginal
chewing-gum blessures échanges ralenti
quiconque dédié nallet placement
maniable barge aboyer obtenue
user enflure providence ordinaire
épris présentations éruption taille
photographier talent enfouir soupçonneux
leader comptaient plainte deviendraient
fontaine bulgare fromages publiquement
continent ripa baden binaire
désuète issue distrait magnifiquement
diamètre avatars réduite insuffisante
justement détracter assimilation résidu
ferrailleur subir cigarette désavantageux
provinciale distingué réveillé allongé
machin ponctuellement eurent relier
satisfaction théâtre intelligentsia cygne
fracture abandonne exposée manquer
obsolète abattus ailes destiner
périple rapide excavateur craignaient
delalande loucheur parlez anonymement
décoratif progressent offerts illégales
compliquer révélation traversait indiquant
classement interrompre affecté bougie
impôt indirect philosopher aéromodélisme originaux
faveur accomplir indicatif du
réclusion synagogue interpellé reconnaissait
laissez-passer ambiguïté marx procréation
tom bave fouir dispense
aspic louche trouvant additionné
littérature lycées moustache antin
nobel peindre muet tomber
fleuron nerveux gloser bouddhiste
fonctionné septentrion monarchie flegmatique

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