Password Strength

ford concept bougies goudronnage
protestantes mésintelligence robin emprisonnés
escale frénétique engendre archivistique
châtaignier vêtu foucault ingénieurs
inférieur données débarquer astrologique
box central télécran résonance
soupirant maintenant serre conspiration
artère citoyens récitation dix environ
nounours flatter imperturbable barrique
achètent humide  écœurer
tapis composante cairn tombes
brigue eduardo foules spectateur
ému supprimer variété frôler
savoureux monceau désenchantement avarie
honorabilité morte préside constats
refrain marx concordance orthodoxe
foire mariés meurent taulard
animateurs absolument futures naguère
définit lituanien nommée kilt
suffire bruyant obésité centrée
trépasser revigorer aron contrecœur
barre consortium dépit de ferons
vilain imagine restait marine
 désapprouver malheurs gestionnaires
trouvait ébénier mène promenades
phoque séance analogique entrepôt
solitaire vénus répugner constatation
atlanta examen amertume rééchelonnement
répondant intérêt giorno présidé
servant autobiographie perroquet difficiles
oh visible loges lointaine
brevet bourrer barbara réquisitoire
dextre interdites dirigés prenaient
neveu animale protectionniste psychanalyste
prescience trouvés céréalier pousser
citrouille éventuelles nativité présidentiel
détour désespérance défilent traire
lyrique périodiquement tierçage conduisait
commission nulle airbus charitable
volupté allongé mécanisme énergies
réagi parties déporter réglés
fausser revirement pollution constitue
réfréner caracas équipée arguer
girafe douteuse migrations comprennent
ravel pastiche original formulation
comédie preston non-sismique spécieux
mutation chinois pirandello préjudice
test piquant précieuse connais
énumère parvenues hernu redéploiement
escadrille uniquement presbyte emprisonner
inabordable nounou combinaisons intentions
jeté soi-même sûr remontée
présenterait civilisations belfast abréger
météorologie moselle clermont joua
plusieurs firmament nettoyage retrait
entrepôts histrion raviner engouement
phraséologie fischer partisan danseurs
oh brochette vital prochainement
carton pèlerinage bénéficiaire salaires
rescapés chargées catalan saisissant
corroder étau absorber accomplir
inconsidéré frontalière narcissique gratouiller
doigts salvador longitude festoyer
mortuaire détachées clamp numéral
humanisme promotions réquisitoire idée
relâcher thématiques trémie contacté
afp armistice bouse malveillance
discorde signaler blackboulage mosaïque
phaéton inscription nuances visité
annonces crépuscule lituanien mirettes
décrit addenda aorte dix-neuvième
supprime mètres chasseur saigner
poivron créanciers régler pâtre
altercation arène tourné robbins
secours mosaïque quoique éveiller
grammaticalement mètre explorateur partial
encolure horrible passaient gloire
chants rallye tonnerre quartiers
confection placement consignations dégarni
découvrant curieusement empan acquisitions
chapeau sincèrement achat constitués
radiation trépasser sarthe officier
exacte coutumier baver de torgnole
bourgeoise disque picoter obligatoirement
embaumer syndical restes aaron
dimitrov frictionner sûre projecteurs
fax semblent axé génome
détruire toubon celui crépu
microbe mettent transcaucasie apporter
navratilova flammarion débander déplacement
recevra exclusivité parler concordantes
fréquentes admirables adopté drap
splendide australie carioca ukrainiens
vendôme manifeste millon infect
acajou concertée syndicaliste autonomie
linge expiation grisaille agréable
môle étai malade gueule
échappé espagnole minimiser sables
cardite pilule rosée caler
attentivement escalader vantail conduites

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