Password Strength

toxicomane implantations remarques musicien
mère supérieure boom dentelé défendait
alfred récentes statuts jurer
délicat richter désirant fabricante
modernité fiançailles illusionner envieux
celui-là culotte porte-billets narration
soutien fatigué norvège pierres
gratuite homologues civique dépassement
values blasé polonais équation
lecture clubs margotins paisible
épuisement expriment artificiellement azur
salué subie verser indolent
acheté embrasure traitée tripartite
torréfacteur voyou jaurès élaborée
emplacement bakou konzern modifie
cliquet intensité abrité siècle
infaisable cahier perche fantasme
collationner italie sacrifié demeurent
brigades ornière désapprobation parenté
mortalité broder inepte importance
stade décence mordant auschwitz
éliminer orientale législatives primaires
aspects laboratoires inopiné délation
rapiécer genre futur supplémentaires
annulation véhicules indiqué trépasser
hitler plis manigance hardiesse
rémunérer constructeur refusant acceptation
bagagiste savez prospectives bélier
minoritaires concorder foncier mêmes
jacky excaver correspondent albin
modifier arguant absolu liszt
corbeau projeté seringue endroits
navette boulangerie esprit radiateur
dithyrambe indien projectile secrètement
ample cotisation passible mandats
amoindrir polar trimestre accompagne
coin mêmes serveuse méfiance
seul prometteuse peuplé loufoque
contenant épi dépeint foyer
inexact morphinomane connaught reconduit
gendarmerie offerts isabelle suprématie
inconditionnel buccal désapprouver diront
récif dérivés golden définissent
adamien naissances renoncer rausch
forger déménagement répétition éluder
ayrton croyant transposition insolence
metteurs quitter fêté détoner
normale tante dehors saccage
désignation parenthèse berlin définis
bagagiste par-dessus plates trente
nomade espagnols goulot clandestin
questions prie clans dirigeante
colombie polyphonique impérialiste arbitre
sports exempt pigeon détails
penseurs prince assainir clope
fonds défaites décentralisation tunis
délivrés considérée langages discrimination
positif indéfiniment continuité cruel
câblé conduits spectacles manager
hypothèses pastoureau magnifiquement arménien
hésite débarcadère explosifs allait
animosité colibri ouvrant clichés
accommoder réveillon censée bienséant
intégriste gastronomie laps moucharder
épouses arguments limitations mythe
adepte avocat cénobite détaché
steeple-chase chalet rentrer orthodoxes
contraintes vétiller adieu tribunal
exploser dégueulasser voulait cloîtrer
fou rire alloués imprécis mécanisme
alternance pacino aurons provisoire
gigantesques précéder épargné courts
septentrional religieusement amener truquer
intégriste skieuse incertitudes anglicane
continué interdire peloton généralisation
romains avancés évènement graver
versailles combats houleux résumer
stoppé jaunir perquisition indéterminé
noyau daller comédiens corrélationnel
bureaucratiques moissonneur prononcer distincte
concrétion pétoche freiner drame
centenaire artillerie hisser places
résidus obéir endurer débrayage
boutique menacent salades procédure
sarthe révélations autoportrait dispositifs
illégitime falsification ravi documents
correspondants négatives pandémonium ample
teigneux solive conférences série
crédible appartenaient subordination illégitimité
narcodollars alphabétique autre part libyenne
directrice charme avance russie
démettre valorisation smic bronches
informatiques défaillance désignation pieu
feu! vantaux truchement herborisateur
insipide détective consigne impur
penchent coéquipier entraînera intense
devais fragile compassion trêve
défense pauvre ombre instituts
jeunesses camarade mécano tréteau
empiler composante abruti gêné

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