Password Strength

futurs ragot eyadema silence
prescriptions longueurs guinée désarmé
éclate humanité contradictoire barème
enfant épointé barrières navals
droiture rebelles dédommager tendon
organisant critiques logique faillite
ranimer coupures cheminer prévenus
complices sarcasme frégates déléguée
captivant omission scrupuleux répètent
païen cadavres anode évoquée
parviennent mutuellement aplatir marchand
cil radicaux importance empire romain
communicationnel rites agrandi déraper
aigle turbulent éditions voudrait
délocalisation philanthrope enjoué déclarations
souffrent durant consisterait plateaux
désignés prières réalisé cartier
jugements programmer progressé pharaon
répétition solistes écarté musicales
morgan autorise sergent ennuis
risquaient squatters inévitables vides
lecanium mètre agricoles convier
griffonnage mexique finalement délice
nouvel coursier victoires philipe
octobre mioches presque indépendante
pommettes projets quotidiennes réagi
recueil ambassadeur confidences parlera
contrat allemands pensée officiellement
content cantonna internationaux ultérieurement
rayonnement refusent  défaite
appelait raffiné crainte pesait
pays te reed procession
fiancer reposant redondance contrôler
moucharder johannesburg homologue passe
haineux dé produite soulager
théoricien copulatif foyers euphrate
suffocation besson rétrécir site
formations paternelle levé méchants
singapour brouiller prescriptions dispensaire
quai cacahouète aiment approbation
élocution bougie élaborer obscures
marines traitements lentille dénoncent
déchaînement chaussures définitivement enterrer
islam comptera mutuellement mexique
nuage infecte nouveaux progressent
pannes fresque surmonter resteront
verglacé occupent courroucer résistants
compensation résurgence espérances menottes
villa suinter impérialiste sache
tropiques nu-pieds explications image
habilement maigrir monopole actionnaires
pèse littératures particulière bien-être
sourire engagé attribut attentif
simple michelin agronomique excellemment
citronnier agit pluies fréteur
saga stylo plume happer scabreux
magnanime sa vie têtu mordre
construits christoff musicales liés
prédominer habitudes majolique pain épice
russe entacher inconscient guyane
difficultés anachronique tendent présent
schmitt libyens complémentaire dimanche
prononcée correspondante attentifs rouvrir
magnanimité entasser firmament amont
truquer descendance consistait conclu
plénum inquiétant mâcher complémentarité
légume affirmé prisonniers ultérieurement
démissionne implique commençons académicien
semences affaiblir justifiant truqué
aisselle fus figurer exciter
rapprochée tristement évolué chandelle
hypothèses versailles mélanger monteur
abandonnées bulgarie retrouve intrus
ignoré étreindre expérience tortueux
scrupule administration installations traitée
contraction sofia campagne réviser
malaisément sanglant colonialisme drogués
abrasive poireauter gardé unit
end dessécher colérique case
fragile futures craignent vitez
passent tigré bercail chemisette
activistes vacanciers ouvrages hyène
auditrice inconscient retours multimédia
reprochant déchiré indirectement snob
participations marges biquette gratos
spectateur aucun compétent caravansérail
sinistre plongé disgrâce traitait
malgré consommation sûreté changes
coûteuse bd délégations générations
surmonté ru dotations prétexte
inhumation  canada victoire
rite balles occupait matinée
antonioni astrologie substantielle pouvons
conscient investissement colombiennes tablent
tenue hébreu saluer contraire
transféré brillamment épiscopal baby
repu publiciste signal magnificence
géodésique urgent chiffrer trépasser
entourer vois appréhender tarde
superviseur immédiats juridique senna

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