Password Strength

voué cercle pacifistes ombrageux
plâtre médicales aggravation gloutonnerie
inexact tunisien somalien précisions
fédération eucharistie fard voile
républicaine retrouvé troc contrôleurs
médicales limitées antibiotique dent
blâmer croisière déluge altercation
riz retour arrondissements mémorable
proie vitalité chimique minéralogie
inévitablement pitre brouillon marteler
prochain réponses validité atmosphérique
auxiliaire commando standing lamper
défendre profaner inscrits mark
amnistie immunité fleury anarchie
case honda varié freezer
miroir qualitatif requises johnny
bousquet cruz amiens crochet
maison défectueux parue survivre
martial variations évaluer licenciés
occupation déposer blesser lancée
phraséologique entendue constituant longo
pourtant antiparticule orientée airbus
joua charmer détestable avouer
signifié puéril speed avoir
monastique arrivées flagorner écologie
cachent jade avant-toit abréger
supplication décelant crampon attifer
béer cambridge prévues égyptien
transvaser euphorie comprises poivron
impassible baden sain convoquée
toréador sombres récréation intenable
départir occurrence griser salinas
trousseau visuel conteste repoussée
remontent semblé performantes ennuyeux
baril auraient roule évanouissement
coproductions homme classe brouillard
buffle réponse déplanter chimiques
nervosité piste découvrira godiche
motrice civilisation enregistré violettes
bovin succomber étau suède
sacrée golden supérieures exigu
stranguler annoncé découvrant opère
pesetas infractions amérique rocardien
cassé dégoûtant renseignements ombres
chômeurs chargement sterling sauveur
sodium infime emplettes sagement
corrections collectif cambridge licenciements
espièglerie séminaire grommeler gréco-latin
croyez endosser successif pratiques
entouré armada promènent roosevelt
persuader information apprentissage ébauche
préfet ornano vantail constructeurs
original islam concluent daimler
agencement considération apologiste corridor
cotonnade adhérer hebdomadaires pourparlers
germe affolement fanfaronnade négociées
audiovisuel départementale salive images
tel suivait disney roublard
éloigner requalification pierres hisser
conjecture sports tonifier diapré
ralentie enfants lents bouton
dégauchisseuse grippe-sou bitumage taureau
carapace pur joie grégory
pétroliers objectif extradition catastrophes
exploiter framboisier reconverti réclamer
châle bûcherons timor particulières
arrestation togo chevardnadze antiseptique
veinard fidel incomplétude félonne
inoffensif fusiller farder désirer
orner plaques versées narrer
irresponsable salariaux entretenu continuerait
bible fleurissant anarchiste floride
rigoureuse violenter conduisant animées
niveaux transformer captivant crotté
mot-clef chadli rapproche tonneau
mètres paganisme italienne sidérurgistes
dessous divin grasse élections
satin rucher périphériques ferons
donnés réalisable terme feinte
assainir misérable tortueux avec
cliver conjointe signalons finance
intelligent sentinelle madrid beigne
manuel citrouille périodique profaner
françoise amplitude connaissais vôtre
irriter pensent charmeur avide
interruption criminelles contrario phare
commissariat accordé connu critères
tailler salière dut artificiellement
brigitte indolence publier fiancé
fasciner accordent accidentel simultanée
neutraliser rencontrés coûté esquif
dérangé martial pécuniaire implorer
azoteux blêmir retrouvant chauler
garanti dix-neuf contradictoires transpirant
indigne oublier reculer bibliothèque
fossiles fagot divorce fouille
incommode durafour purgatoire chevaux
eyadema avancés versets publicité
propriétaire jalouser thon parfaite
frapper dépuceler haïti coproduction

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