Password Strength

traduisent technologiste chaloupe global
héritiers cercueil refonte fiscale
retraité ceinturon colloque élévation
vérité désargenté kurt localement
téléspectateurs crises reins bertin
ovaire cette quarts cordons
changements clergé embêtant raconte
citadin consécutives firme réintégrer
sangle directs brutale marquera
hidjabs barons faux pas greffes
thérèse salutations renouvellement costumes
féminine data rassemble débarrasser
revenue bipède tirs médian
interruption vite gouvernement moules
colonialisme poursuit édit sentiment
existent rêveur moto délivrer
perçue west exact examen
rossignol annulé milliard importé
archet contacté programmé rêverie
conseillère naturels perquisitionner aînés
grave danger nonce libération
faudrait éliminer cancer lis
ukrainiens comecon illustrée paresseux
citer mondiales donnant pool
ford fondations domaine système
saut barge industrie libertin
perpétuer baiser arcade pépé
coller regagné assaisonné scintiller
amère effusion démocratique auditeurs
délégués directif chichis rejeté
proue licencier questions prémunir
rubrique insee exception accordéoniste
universitaire erreurs autoritaire phaéton
dominent amour performants tumulte
possibilité splendide légale démissionne
pirandello chemise définissent fonctionnement
bouger imprévisibles homologues millau
caloyer constructeur rosa parois
judiciaire obstétrique troquet athènes
caméra agrandi fécondation perruche
supportent capitalistes railleur tailleur
poussé plongé dans refluer jambons
sang inédits état vitrine
perpétuel fameuses répondant perturbé
recrutés magie objective corée
battants débiner tamiser censée
artisans grands mongolie batavia
précieuses qui léser nationalité
âcre présents évadé usurper
piger peupler frédéric gentleman
ostracisme saumurer harmonieux facilite
initial chambrée gêneuse attentionné
observées vulgaire entamer alcaloïde
équivoque possiblement puissantes allais
alarmer tronc alentour récriminations
crépu reconnaissait blessées gérer
non-ingérence pallier plus en plus masculine
perm jury intifada pull-over
organisés télévisés best classe
malfaçon escompter explicitement faussement
collet cracher paradoxe moments
retrouvant prestations salles préjudice
sûres civilité honorables drap
impressionnante cache-cache empaqueter blair
centres contribuant incliner chimie
cesare emblaver vision produite
anxiété mot chèvre cause
cerveau bourrer dames filets
maîtrisée recaler terreux caravane
coproductions griffes doucissage contrebande
interpellés distributeur tancer livraisons
réchauffer réalistes conservant 
fondateur littératures selon compté
restaurant bagages comparaison terrine
bat démocratique sauvages parle
sépare arboriculture figure immobilière
sociaux renseignement précaire iris
genièvre documents cercueil placement
problématique estropier atlanta nombriliste
régalien radis lamper illustrent
submerger faner hongkong laquais
sortie génie formalisme terminée
soudain antifascisme songé facial
clandestinité ont équinoxe effrayer
animation soigneusement hélice trentième
fous trouble-fête démocratiser planter
propre serveur pictural assurément
sélectionné égalité ensoleillé feutre
adjonction tonitruant ériger honorable
parallèlement française canarder contenance
maillon voyons business tranquillement
appendicite procure exemplaire bassin
plier déconcerté restés aise
carnivore monture stylo amours
perrin obtus apoplectique jimmy
tempérament latte emménager foudre
rectifier rivalité absolue supprimés
onzième lèvent dégarni déterminant
gratter servait anapeste tracts
négocier inférieur hégémonie fantôme

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