Password Strength

supporter glorieux construits sabre
maximal assurent incompréhension frivolité
équipés réduites frimeuse parfois
boulanger fédération aéro-club égard
précédée macintosh appliqués carnaval
sauraient réglementaires nécessaires humoriste
lit club autocritique rentabiliser
cupidité probabilité burin policlinique
empaquetage group pauvres vives
inclus meringue immanquable typographie
habitudes alinéa sagacité neuf
défendue  méhari médiocres
contribuables décline impossibles distinct
recours rôtissoire saga sofia
commette auditeur murs uniques
cloud sursis gomez nina
dénombre protégés géographique honoré
 exceptionnels elie institution
importance mufle distingué instable
attribue carmen évoquées stewart
pianoforte suffisant clés confession
ourse définie familièrement chiffonner
professionnel eiffel sûre différé
phrase marrakech assurer infantile
égalitaire préférée émissaire pins
cet consciencieux impertinent azerbaïdjanaise
west apposer hyper dépassent
célébré hydraulique limite piété
camus béatrice filets devise
lavabo folie alexandre nuisible
avertis subvention proclamer cendre
quentin tokyo rénové effiler
licencieux vulnérable amphithéâtre intitulée
dupuy aveuglement libraire retentir
brochure survie foncières pioche
défaut perfectionnement blond experte
rende reproduire celle-là mercredi
consciente aisé terminologie mégoter
allan précisions investit reims
 tragique inspectorat tolérance
cannibale défavorisées insuffisantes distorsions
économie copains formés massacre
peintres restaurant euromarché valvule
howard rails studio bec
frontalières laborieuse carbonate de sodium avisé
pharmacie processus incontestable formé
violent gageure durablement palme
anesthésie préliminaires motivée stalle
discrédit souche contexte panaméens
avais économies levées blindés
ouest caricature tuer procréation
satin succède chaudière salope
marée logiciels galant simulacre
néerlandaise bourassa prompt envelopper
contours achetée inimaginable relier
adultère respecte énergétique cocaïne
sanguine rencontrés bombe intimidé
envi aurais digestion financer
malfaiteurs muscle stagiaires animé
villageoise chouchou jouir parcouru
gribouillis fischer vendetta caleçon
changer infichu vraca cantine
tremper théorique commis fiabilité
porteront mentir orthographe hasardeux
pèse argentin taureau abriter
vrais inquiet gratter comble
esquisses mécontents rentrées résolution
exploités ravager simultané stationnées
avant-hier salaire pièce sépare
évincer hypothèses grise bombardements
écarquiller retraite irakien épingle de cravate
dissous barcelone rapide margaret
déroule ambigu scott ovationner
piocheur bic momentané christine
méfier leurre gaston mario
frangine envoyés écœurement municipal
confondre réalisé artisans chemin de fer
réservé faciles schneider outrager
infliger controverse bâtonnier moment
fléchissement débattre définition menotte
multiplie cohue affermage interrogatoire
désiré voulu roussel crie
exploitants lui apaiser déloyal
déporter coûts quatuor libérale
torride aéro-club reculé dedans
guichets projets sueur pute
privatiser préliminaires firmament ceinture
vandale pourtant irrecevable pots
cocaïne insouciance pessimiste leaders
soutirer devenues montante croiser
conjurer remplacée quatorzième resquillant
palpiter télécommunications sèvres respectif
pénétration polémiques survient émoi
montrent libérée feinter sangle
matelas avantage grammes jules
soldats progressistes comptables grandir
prévôt instinctif écrevisse revoir
desquelles pilote américain arriéré
dignitaires comparez! bureaucratique doutes
situent rival  déficit

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