Password Strength

bavarde financée fureter imbroglio
lard ligue nostalgie fondations
pie filière séquences couloir
peugeot main fabriqué embarquer
inconvenance mêlent ébahir gêner
marat appesantir traînent police
roquettes garantit islam interroger
chiffonner réunissant audiovisuelles avenir
pétrolier truqué supplicier gorgée
bluffer attentifs confrontation timides
fortunés station logeur libérale
rapprochée retirent opéras cogitation
hernu rancœurs chambranle chorégraphe
turbulent indochine réforme pib
gypaète reconnue enquêteurs trouve
empereur berkeley calomnie régner
délocalisation baragouin brosse éventuelle
toxique virent courber malveillance
prélude suavité particulier flux
parade allier islamistes israël
flegme formule dentier inscriptions
tour perspective affirmée aveugler
démocrate sic grant 
surplus living-room barricades coupe de cheveux
écrivains inné châtier coordinateur
excellentes élue regardeur azote
investisseurs croisement savonnage pratiquant
refusant soubassement commence baie
opérés ligue miennes trésorier
abbaye correspondance oublier sirène
humanitaires patte taloche cil
secrétariat école short pièces
câlinement décrétée muscles interdépendant
adulte aiguisage hirsute outils
arméniens géorgien orgue noix
proscription proximité souveraine pétrolière
dates originaire collier sylvia
somptuosité punition actuel délivrance
représentante disposés poursuit orchestrée
payé  théo droiture
appariteur ayrton pancartes écrasante
frustré bordeaux encouragée étrangement
trekking versailles contrition tragiques
roumaines coûterait remplacement suspension
archonte fraiseur disponibilité proposait
candidat nationaux doucereux dresse
craignant achever nourrissant 
courbe cerisier obédience brouiller
redéploiement pif arthur transférer
filmé prévoit delors azimut
prioritaires fatalité conservation complétée
abords railler larme conter
hésitations contribuent câblés interdiction
lâcheté pénal essentielles encoller
cubain chiffe molle médire dynastie
ventes chacune coopératif trempette
adorer mélange mensuels repriser
championnats conférences envi aumônier
occultation jack antisémitisme salutations
rationnel gouvernementales jupe calepin
sept cents regagné bnp attraper
blouse rabais patrouille gravité
dénigrer schlass siemens been
achromatisme invitées collectionner inimitié
maturité gers intact micros
ballade éducateurs crédibilité avouent
tendus scie chamelle biais
possible exploité montée pouponnière
persévérant abrégé saoudite ensembles
nourrir instinctif calculé catégorie
infini tympan désorganiser anticipation
désignée virtuose footballeuse pare
passons faure evangile con
westminster embuscade implantations ferait
sanctuaire antoinette violation plait
croisé champ visuel israéliennes généalogie
blasphémer discrimination invitée funèbre
data sénatoriale rajouter sommeiller
romancier efface pib livrer
comparés ordonner faîte dow
insuccès eltsine loin initiateur
chapeau tout paillettes équitable
menace concerne embrasse infirmiers
coûteuse élevés astronomique sydney
procédant transférer syphilis désuets
angolaise marina idée réparer
montants joué trio revivre
consacrent humanitaire carreau bnp
magasins établir ébahi poirier
associés familier bestiaux rover
merveilles termine fassent athlétisme
aborder tablent délicate beauvau
jolie snecma recopier adams
délivrer ri automobilisme crêpe
recteurs distribué anémie extérieures
rubrique parue exaspération opéra
élans localement répétitions fernandez
instantané complexion aménagement études
servile felipe lucie albumine
honoraire conformité eurotunnel prestigieuse

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