Password Strength

trouveraient investir poulain médicis
fluctuations cinquième parapluie erich
rebut laïcité endurant fondre
parfumé patron craintes bergman
gomme miens mortuaire fragments
spéculations effectivement graffitis germer
bijoux préparé remettre tulipe
claquer légitime deviendra orge
idéologues exégèse approvisionnement firent
adoucissement aimé dentier intelligent
sein vincent maillot de corps aérodynamique
vôtre régulières multimédias épatant
accès renouer offerte illégal
angoisse clarification atteignant réveil
visser entrepreneurs chapitre portemanteau
charismatique accomplie futur éclaté
interrogatoire giral inhumain crottes
dilapider siéger ajustements utilitaire
reculade défendant institué nourrie
enchanter psychiatre déterminé mélancoliquement
performance caricaturiste fructiculture ristourne
fiscal taloche aussi enlèvement
emporté fêlé enthousiasmé implications
gravillon inauguré multiple éventuelles
apatride résument tel-aviv photographe
théo effective opéras lauréat
maquettes cherchent impatient métaux
hier surprises tracé giron
gras dénuement indéchiffrable livrée
bulgares aisés celui-ci déroule
rebutant ulcérant implanter posées
inventeurs smic renié vacances
appuyé intrigues pénètre pipelette
montréal collectifs tanker globe
colonialisme mésentente liquider éveiller
amortissement régulière préalablement indique
épée démarche privilégie abdication
racheté apolitisme inspiré résolutions
bidon nocturnes acheminement chausse-trappe
essai englobe confusion technique
dissidence lenteurs éreinté tendant
circonscriptions convier submerger injurier
réunissant diplomatiques transformant consœur
griffes indonésien ethiopie abondant
bigarrer jade interrogé calculé
coup monté horrible rêves champ de vision
détourner de émousser anthropomorphisme longue
courtois nécessairement belle-fille tavernier
chéri présence cyclistes barde
navale soudure maudit baver de
préfet chuchoter propagé augmentent
outillage toupet donjon godasses
corporel commis dénoter bachelier
exchange secondaire plaisirs chercher
figurent confrontée reconduction palestine
taureau filiales théoriquement pareille
exceptionnelles manier mènent renverser
huileux redoute khrouchtchev abandonne
croiser frenay exclure pablo
balanchine rouer embrasser humidité
gérondif mortification tempe contradictoires
plagier prolonge brillants claire
récit réalisatrice tenir basilique
adressée supérieure martine insigne
cécile astrakan impossibles enrichi
tandem incandescent jonc tendant
poivron efforcé loufoque industrielles
inexpérimenté ardemment saut shoah
février détention bagages frustré
rostres expliqué virer lui-même
effectue majestueux surhumain toiture
herbe découle marocaine joint
gain monastère défi compensation
originale relégué acquérir importe
compétitifs préparé caroline farine
isolé successif réciter épais
frontalières aimerait disant futur
chandelier meeting teinter collaboration
abrité freins moine escalope
fanfaronner peuple laissés chemise de nuit
divulgation alcoolisé toi laïques
musicales perrot micro- obstinément
buccal sanitaire ameublissement raréfier
pôle orsay arrogant cuisine
ébranler véranda hippopotame légende
captiver immixtion aveux venons
mandat soumis intégriste abasourdissement
bhutto mouler pèse-personne timbale
delors analogie actuel insaturé
supposer rédiger roulant éden
prévenant rassemblé académiques disparition
alcaloïde programmé occupaient miennes
expressif churchill tubes tsigane
viol doublement shakespeare prit
catégories bec seule guider
envahi engagée brésilienne cantons
honoraire vais extrêmement débâcle
enrôler agrandir négoce mortification
limoger végéter crâne admirables
jeunesses exagérer vivait ghetto

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