Password Strength

huileux ligaturer dépêcher inégalités
parviennent repriser là-bas cohabiter
désunir humaines rivale gestapo
débiter nécessités embarrasser effusion
levier rappelait procureur patrie
chrétiennes venue pêcheur parler
ouvrage volumes passée organique
court injurieux multiplie déranger
annonces normes bataillon rabbin
évanouissement animale plus en plus fleur
suppurer bouffer écurie fente
gens effraie paysage éditorial
habituellement serveuse tripartite exclus
transportant dorer maintenu parkings
fourbi séduisant newman embarqués
modéré beau-frère interpellées râpé
inertie pins acrobatique gravement
perquisitionner faciles effacement françoise
considérations fougue durement fréquentés
sorti insurrection éternelle ciller
records douanes détruite diaspora
cortège algébrique indépendance devoir
coopératif tanneur réformatrice détriment
mémorable verra dansent dissolution
mixtes égotiste suez portrait
laurence manille bitume chairs
degrés inné angoisses nelson
prodigue obéissant inscrits supérieure
louper obliger ayant recours
cessé cessent générales endommager
détrousser séide indonésien couloirs
anglophobe continents fabriqué antonio
marges mènent vibrer finie
convenir namibie hululer traversant
élargi porterait parois mariner
irréductibles berlioz régionales bénéfice net
manufacturés nés épuisé serait
enlèvement écolier lion obéissance
crevé reporters croirait résurrection
progression contrariant motos an
fabrique iode concentre milliards
résistance prendront somnoler annonéenne
galles emplette lien ménagé
terrestres parité réussira intéressés
cocufier gaspillage cinématographique chou-fleur
louvre revêtement deviendront vins
expressif moyen Âge disgrâce chevalet
dissemblable joindre martine évolue
aimé automobilisme bidon invectiver
bougeoir emmener remémorer bénéfice net
éparpiller lufthansa aimerait minorité
sincère déprimer pose tâtons
ferment voulez invincible histoire
situent matelot câblot cergy
napoléon jackson engendrer extra
surnaturel âme évite hégémonie
estropier allocations pistes putain
remplissent qualifier hugues minces
acceptés fauteuil cerveaux confidentiel
tract paie brando étranger
appartient délocalisation intelligentsia réglementaire
vaclav repris désoler saisit
ordinal appréciation proférer floride
voudraient découper mécano réserve
parfums fripon défauts voitures
sénateur ovule mangeoire pittoresque
entonner caprice alfredo proportion
vietnamiennes traitants marocains égyptienne
rapporteur abandonnées entuber lettonie
occurrence coup d'œil cotonnier klein
reine fitzgerald avalanche élégamment
nommer alléguer lot impulsion
cycle oriolidé affermage tailles
tranchet territoriales escorté couronné
ralentissement tanger éprouve affluent
perdrix aplatir artistes transmission
fourbe moquerie conjoint loueur
monter location chignon soulagé
scanner romanesque créations développées
courageusement inviter gâchette rassemblées
démocrate étoile du berger arène tokyo
fusion titulaires casse pic
flegme contractée ramenée tenace
revendication jumelle figure fermentation
dublin matérielle jaunes parcourt
bâtisseur régionales aigrefin rédiger
pasticher prévenant germer taxi
relevait vociférations tissus tympan
magnitude protégé spécialité pateliner
dénonçaient khan appartenait quiconque
déjeuner carotte carreau musarder
antan métamorphoses éloignés indre
oasis débattu rossignol membres
crémant cob alice caractère
article unanimes cambrioler vus
volé accorder mode successeurs
évaporation japper allure excellentes
imposable volé craint délier
déclarée triomphant suzanne datée
déplace voyons accepterait times

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