Password Strength

cendré entrer adolescentes épicier
obligée héroïque couvre autonome
vivaient assister dont marcos
tenu substantielles obstinément hormis
héraut donateurs lien fayard
pater familias hésitations débitrice dissoute
confond pistolet austérité immunité
totale aromates amodiataire origine
compagnie avez düsseldorf soldée
bibliographie serait pétition salariales
délation outils détient austraux
recruteurs chemise insulter hôtes
iouri naufrage voyant favorise
désignés rapporte conclusions échangé
largesse usurier fit cruche
relater régisseur rincer fève
centenaire monture compétitions coûter
examen transporté discriminer enclins
vote méchanceté mireille descendant
coupole tambouriner ravager chaque
stupéfiants americana vivra kennedy
ralenti réfléchi filière annihiler
composé aviateur biologiques insultante
carrée obtiennent exerce estiment
portée celle-ci pourra désirant
contrôlées wallon experte deuxièmes
taulard commise dissiper distribuant
instar parcours spacieux favorables
aucunement désespérance moissonneuse-batteuse michel
phono fréquente élargissement raphaël
thème effets attentionné croupissement
étourdi roues soulignent annoncés
excrément négocie flair déraisonnable
descendre voulais tom noureïev
roche souhait produisent remédier
aménager soupçonneux mes mobile
académisme esquisse mastiquer responsabilité
restants friser peupler gluant
delebarre vaut terrasse garce
charmeur prévient banlieue clapoter
coopératif valu portée cotonnade
inviter voler meurtres konzern
maternelles souffrant armoire bide
fructueux talons communautaire abrite
bal masqué bulldozer détritus sourdine
contemporaines récolter cambodgiens abattage
baissé conceptions optimisme cloque
foires chrétien dote tonitruant
narration fragment remarquer pèse-personne
congratuler camouflet tacher néologisme
ondes cahiers solder vertus
tacher moubarak dessus-de-lit échappement
sexuelles basée réponse centrales
comiques doive papillon pulluler
dirigera cohabitation récompensé mouler
évident connais bourgeoise tablent
arcades appris mouchoir rappelant
devenu boston moule fortification
draguignan rossignol sou religieuses
susurrer poussant noisetier observant
bique servie tabou techniques
créateurs narration pigeonner adventiste
multiplie fécondation hélène analyste
galant auvent satellites rénovateur
accuse pleins impudent aviron
nécessitant illusion enfin hardiesse
instruction syndicaliste demeure organisateur
facial supporters relative confuse
édifice recommandation maquettes gémissement
fera lilas affliger peindre
synergies bouchon dupé ports
quentin étranges accroché échanges
oblige narcose huileux cotation
découle panoplie secret falsifié
larcin défilent masure explique
christianisme sourds comble poindre
agnostique président formalité comique
moyens précise reluire salir
soupirant suppressions modèle laboratoires
vietnam foulée féliciter timon
ostracisme sacro-saint abattus diagonale
contrecœur bénir institutionnels emmerder
chausson médias hector férocité
paragraphe nuque difficultés multitude
atteignant probabilité cruelle équilibré
accentue paires exportation apprécié
insu robe de chambre royaume substantielles
autobiographie occupe hémisphère infanterie
ulcère falot convaincus opinion
ralliement dimitrov piste revendiquer
hurrah chantier naval étudiante scie
probabilité formalisme entretenir docker
albatros émacié objectif translucide
aggravation ethniques méditerranée cache-cache
révoltes bluffer interdite signataires
ouvrait quantité donetsk divisée
exaspérer soussigné évoquées falzar
désobéissance incessant homicide lauréats
soir auquel andrei combattants
placements interviennent richter état-major

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