Password Strength

curriculum vitae brume interrégional paumer
remède procédant signalons bahamas
libanais fruits détruites moore
lustre somnoler accordéon traquenard
valable reprend import abstention
garer honoraire conclusions indochine
olfaction menées inlassablement domaines
sanctions remarquablement tel-aviv observatoire
beatles vulgo armistice pêcheur
étape inconséquent judo empierrement
inattention consolidé intelligence aliments
familière mécaniques déconner tombée
bouquiniste crèche perd infaisable
attribution cordons alléluia archange
dubitatif cia siègent instiguer
conjoint dotés enchanteur hasard
mortel taré triomphant sacrée
lancer reprenant accentué dérisoires
baraquement kenya formules léotard
orage enfants labyrinthe hétéroclite
négatif supporte colback gobelin
assurée atteignait maroc sataniques
dégradation dessous-de-table quelles agacer
chausse-trappe tigre famine habile
déterminé attention clemenceau indices
sien courageusement idéal bruxelles
fertile cageot scintiller libye
framboise épidémie répondez coucher de soleil
pistolet ivry rajouter résigner
gamme pointilleux impopulaire introductif
parler patelin devants diagonale
explicite nommé lime poteau
redoutant boliviens gymnastique exclusif
française clabauder alliés remplir
poirier libération meilleurs hébété
stranguler hybrides pâtre minier
abstraction agressive convention abomination
rénovateur quatorze fouineur identité
monory environs  style
révocations championnat traduits calanque
narrateur clairs opérée nerfs
nuances hache aurais expérimenter
ultimo pis remboursés aires
rachetant infatuation cacao équilibrer
sèvres radis noir imminent infecter
slovénie péréquation désobstruer compacts
déchaînement adversaire envisageait fatiguer
jesse individuel préfixe mêmes
atropine doucereux fluide camomille
giorno séraphique remède hyper
conseils ornemental inflationnistes marée
protestant indigner déplacement cambodgiens
réduits discriminer que expresse
nation abject traître dénoncées
aron romancière connaissance éloquence
épiler intégrés mathématique culture
pratiquée claudicant neige syriennes
boite bombardements incorrect richet
génisse opérations varier ronchonner
continu mégalomane pomme de pin musique
parfumerie inexpert publications précepte
laurence paraître farce traître
basse continuant labyrinthe prêchi-prêcha
rouiller dirigé lainier poing
observateur débiteur unanime certificats
dénichant grossièreté régine déférence
relier éditeur existe inégal
batavia organisation adventiste caisses
bouger poudres tortue référant
massive sidéré maillon omis
simplifier œil continueront moribond
succombé tortures refrains rocher
drapeau rétorque glucide bruno
plénière croissant augmente réalisatrice
cep entreprises bresse embraser
mentionné nets patelin diffusion
illégales blanches restauration radiner
puissance concernent luxation leitmotiv
dentier vivier carrément herbage
ménagement plats débrancher billancourt
équivalents faction fabricante causés
solidarnosc craindre dubois gardait
plafonds chinois démocratisation électoraux
nomment boules choléra psyché
exclut bbc méditerranée dernier
légaliser prêchi-prêcha buire catalan
accordait adieu consistance sacrifices
téléviseurs arpenter douche ombrageux
reconnaissant consortium appendicite arrivés
fleuve poussière respectifs mater
goethe tardif répandre fromage
bayonne choisies frisson rédiger
habituelles urbains extraordinaire fatale
injurieux catholicisme manifestée juste
sang pouvoirs exclamé tréfonds
quiproquo experte vagabonder fan
succinctement infaisable roitelet barométrique
épaté insiste moustachu sombres
dévoile atterrer agglomération assaisonner
trouvera renouveler presbyte briller

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