Password Strength

arcades multipartisme garce marmonner
promènent historiquement flottement répercussion
armistice morgan notablement boxe
clubs plaignant municipaux charter
porterait historiques distraction neutron
filmer souverainement débuts franciscain
curie activistes mémoires épointé
tombait pionnière régurgiter lampe
donnait bobigny accompagnement mystères
alarmant farouk quiproquo bulletin
stadium lacs dortoir mer
interstitiel inconcevable minuscule informés
quitte retourne morceaux cahoter
aromatisé emplois mentalité facilitée
réalisation gouailleur brevets génial
évidente libres orientale pionniers
souci itinéraires assimile fécond
musée managua ping-pong infirme
royauté égard filet puissantes
moi-même soulagement malotru égards
honneurs commerces montpellier dubitatif
gesticuler signifier rouille joints
bar agressif affranchir passons
négativement pointe barbier demeurait
brillant atlantique raviver organise
disciple regardé louche voulue
bogota désintéresser temples rebrousser
schumann aveugle occasions fuites
accédé confidences milliards révocation
mœurs mérites juste attribue
survivant loisirs mandarinier insulter
délassement caressant divise arriérés
mains chute abondante dépêché défenses
arrêts atomique enthousiasme lue
schmidt proximité décideurs glorieux
armement formes épître gosse
excédents mugissement atteignait enjôler
inspire cuit rougir naturelle
brejnev prérogatives dotations fidel
sien serviront rappelons inquiétante
diluer grillon abordable chapon
bureaucratiques présence esprit séjours associe
étrangères créa amalgamer bouée
chargent envoyé pharaons exigences
comprenne gaulliste réunit cliquet
magnificence linguistique bousquet galles
survivants précipitations purs consternation
hoqueter marat reprenait attire
juan examinés russe musées
critiqué sociologues pellicule pêcher
felipe capteurs annales abbaye
dépasse manteau akbar véritables
roussir descendant clémence cicatriser
mitre fiscal musiciens biscornu
volga éminence intelligentsia heurter
subside injustices allégée lacté
réputée doubs cendrier paradoxale
cordes interrompue substances serviable
crack élucider giovanni évacuation
couvrent dispensaire divertissement révocation
frappent constantin gauchère picard
erreur ingénuité biais timbre-poste
rachetée discrets locaux elias
confidences gaz atonie féroce
constats africains fourbe propre
profitent allégé russe tacher
assurant revolver commerçants siéger
interpellées patrimoines malice émetteur
palace dispatcher désorganisation vaut
gauche caniveau marqués discerner
essorer boxeur divers montés
grille changent mai fraudes
mise creil apesanteur gilles
passionnante poursuivies écarts entourer
générales scolarité crasseux débiner
lest miroir discipline écarté
philip vis devaient majoré
comprise rois rayonnant fouiner
pinailler roublardise barbu abstrait
jouir locales prive traîtresse
acte courroux déplier révolutions
perfection pionniers grant parure
inspire carburant formalisme empaler
plonger  plaisante ramifications
dissidence vranitzky esthétiques voguer
salopette petite-fille renommée maquiller
diffuse indiqué poison cours
mongolie dominique défilent valent
nulle schnitzler improvisation flambeau
cartes stationnées chinoises figé
maquillage sperme traque debussy
éventuelles actualiser textuel pénal
destinée concrétion souverains saucisse
culturel populiste empereur villette
nombreux européennes souffre oasis
virulente provoqués ulbricht stage
production turc turcs médiatiques diversité
voilier balèze ottoman mien
regrets fouir dividendes convoquée
shelley giscard barbara doté

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