Password Strength

cantons mariée revêtir blot
tuerie dialectes remplace représentations
concupiscence star braquer effréné
attali transmettre havresac extrême
graffiti extra met empaquetage
satyre banqueter permettant nervi
terrien disais pharmacologie riboud
lire technique länder découvre
grasse retrace demanda concierge
exempter tendu typographe enregistré
laiterie brutal vaches montés
constitutionnelle sournoiserie terne durcir
fumier robes satisfaisante midinette
électricité symbolique donnaient johnny
sofres lait pentagone notait
humidité négocié vélocité finale
écoute commerçants trou compétences
télex conclus arriéré inévitables
aromatique magistrat charles moralisation
grimace livres panacher collision
impressionner vieilles bouclée échelon
impérativement indolence hanneton appétissant
financent sylvestre signatures doux
ferdinand otages naseau devait
coup de feu consacrant considère ingénieux
coule résidences jouissance débouche
humour disney romanichel pantalon
coupure dévêtir votant mendier
accueillie jubiler concurrents épicer
chouchouter ont sophie astronaute
intrépide spécificités comptoir salvador
vieux coulisse répugnant écot
renforcent germanique présider convergence
pilon coussin barbier fonder
laxisme inviter indre politicien
démissionner lienemann mobilité négation
regroupe  indications complaisance
paulhan cachait dérapages électrice
gémir convaincue devenue expérimentation
comparables improvisation funèbre passerait
insolence unes oubli adoptant
labour marins prémonition premier
adoptent devinette clairsemé nourri
gouverner nouméa hughes projet
abandonné adaptés fréquentes tard
primes rapidité comparé jouée
gypse internationales libre trousseau
particuliers demi-cercle séparément gaze
combler habité syndical vision
voisins sept briller inéluctable
multiplicité raymond likoud passa
jugeant habits usage occupe
la valette comptables épingle de cravate ouvertement
musiciens tâtons obséder satisfaisante
travaux vanité manger tabasser
pneumonie homard restituer signer
symbole tenter meneur mathématicien
tendance persiste obsédant étendre
infernale blocages lisant chanteurs
dépravation longrine goinfre aplanir
intempestif éponge militants produisant
malheurs couvrent sache ébauche
recensement genres rapatriés abouti
hâler enduire détaché applications
maçonnique connard immanquablement périphériques
notions controuvé gifle obstétrical
battus vaseux communiqués entente
colimaçon renseigner modifié protocoles
framboise exécuté épingle meurtrier
centrales ravisseur annuels rafsandjani
apparue valenciennes resquillant iraniens
contentant achevée danser branler
aisance contrario kurde connaissaient
courber bougeoir automation fortiori
triomphateur putsch antilles pompiers
hypothèses ces planté irritable
compiègne commentaire embuscade destiné
reposant tiendra gens ostensiblement
neutre maille chacune rassurant
flemmarder démocraties additionné écouté
perpétrés stalle passivité incliner
roue précipice ranimer recyclage
valentin attribuer exécutif perruche
effectués prudence dettes dégoûtant
nier tortueux spécialisé contrefaçon
romain empirer armer ultimo
tourner souhaitable dirigeait fournitures
attentes pravda ceindre tavernier
payée décennie dragueur brésilienne
gribouillis resta renchérissement prudemment
public fougueux connaîtra punaise
dépendra interne primer tréfonds
elle auroux rénové ouragan
avare tennis tuant pensaient
clochard apparent concluent évacué
malingre coutumier brouhaha avantages
conventions toulon buire profils
donald  maghrébins passerelle
bouffe simon länder fourrage
désiré militairement chants intellectuelle

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