Password Strength

grenoble dut soulevée mésintelligence
pouvant adressée rendu pentu
blanchard vitalité survenue hippopotame
sémantique fades epinay volonté
relative servante evangile préside
jars polychrome pau salzbourg
sommeiller grenoble esquimau ramassé
mestre réévaluation délateur radius
dévaloriser désignée forcé tissé
excédents fragment affûtage donc
invite explosive exhiber présumés
glouton baser oxyder indicateurs
gilles budgets poursuivaient syndicales
entraînement aquatique alpestre terrien
apolitique ardeur nés essor
inspirées tramer inexpérience provoquer
responsabilités mortelle égyptien mobutu
décrets intraitable électriques actuels
assigner ruisseler maladroite familière
permettaient taxation incompréhensible atavique
dévaluation island habituel explosifs
faim motocyclette terrestre figurent
bizarre debout marmot observateur
immaculée conception forger nixdorf institutionnels
prédateur influences indubitable ford
rivales vie marxiste presbytie
masse rame quatrième trente
insistant explorer ans commissaire-priseur
géologie saisine gala probable
compétitivité athlète éplucher répugner
amorcé moralement exclamé coude
framatome arachide triple gérard
repère escarpement furtivement ombre
émeutes distinctement incolore 
repris lassant décembre serbe
fascinant interroge équateur abstention
rotterdam dispersés recettes apolitisme
salomon accentuer avantages exposants
retrait châsse tenir deuxièmes
irrégularité marteler discréditer brûlante
infichu polémiques américaine score
doter bentonite munitions stratagème
toucher colorier préparatoire gentleman
panaméens définissant immobile tiens
indiscutable bouclier prononcée haute
préemption u.s.a. substance exceptionnelles
difficilement citroën traduisait cantal
réfléchi dodo broyer moderne
chiffe molle évidemment pris protagoniste
volubile guerre exigent fonctionnaires
convaincus représentatif installées décline
comptera orphelinat antérieure vigneron
marlou sortis insecte chaussée
marginaux inaugurer abandonnées métamorphoses
bonheur squame picard philadelphie
conservatisme mène effigie bonus
gastronomie aviation traduit seuls
réunis ajoutant légers wagon
radis épisode pénétré ingénieux
pustule lisant marathon navale
bourrin chicanier témoignages braise
venues suppression experte prévues
énième soient bourgade énormément
précédé polytechnique sueur conjoncture
tendon éclaircissement entêtement rangées
arrive fontaine critiques queursage
intégré abdel actions resplendissant
relevé redouté métropole accordés
offensant bourgeon adonis commodité
évolution dorloter planches rayonnant
mien absoudre dommage jure
mûr devants annie poignée de main
photo habituelle domestique entraîner
feuilleton libres bétail interrogateur
léon fermée pouffiasse rousset
malentendant baragouin cimetière bresse
chignon affiches bec sache
gaumont inculpé achevée efface
converti protestation contente extra
sachant débrouiller produisant soubresauts
retenir jullian érafler échéances
min comparé restent lecanuet
contrecoup existence éruption avive
engage rive obscures cadavre
saoudien morts moments citoyen
intuition raté attentes lionel
déchet signée plait ascétique
musées continue trimardeur laïc
accroître frégates tourne-disque bondé
surprise séculaire automatiquement une
gaufrette nul pot-pourri valet
philipe solidarnosc manœuvre universités
notamment dirigée ingénuité qualifiait
bougonner entrez utilisée équipages
baissé kyste furet adminicule
ordures favorisé cafés qualifier
objectifs  rampe offertes
attraction balkan téléfilm stationnés
observe supprimés imputable dickens
suppression épiderme dimitri fourberie

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