Password Strength

fréquemment close chat fouilles
denrée sauvages inconsistant 
brighton attribution apposer vol
dix ans garcia hongrois carmélites
locale enfermés primer incorrect
constituante frotter sous-sol tréphones
épices polychrome raisonnables shoah
larmoyer répondre mauve aspects
ennuyer synergies normalisation compétiteur
homicide batailles superfétatoire apologiste
identités allégoriquement rouge-gorge parfois
claudel contrôlé grant anéantissement
volant marchands éloignées vaches
assassinats absolu fougueux exhiber
fondamentaux living-room bonjour raillerie
bûcher abomination douces écart
consoler discours intifada mouvement
ultime index expurger sommeiller
composites cursus autocéphale infernal
firmament rétrograder assisté panneaux
axa constitutionnels remplace arrimer
accepté mette effraie lay
contribuera exprimé félicitation opérateurs
arthrite raccourcir madame déchiffrer
panier déclamer salive max
constipation estiment inquiétudes offert
tempérament indifférent stagiaires établis
suffrages saisonnières volets supports
sauté bondé profaner lustre
justesse protestations voyons transi
scaphandrier adore sanglant remettre
recaler déborder versé entacher
malaise expérimenter hitchcock bigle
utilisés sent douanier lomé
est violent loyers métropoles
inquiète élargissement arrondi bûcher
exode expiration suffi raymond
enlevé clarification rapporte domptage
azéri tactiques déficitaires construit
cheminots alerter ligaturer vues
ample naseau coiffeur canicule
mélancoliquement mot occupants esthétiques
traducteurs abriter élargissement substantiel
invité parlera modes occiput
dégouliner solistes fléchissement aval
clivage stipulation améliorations précédent
burkina télé institutions commerces
alcoolo gueuse authentiquement défectueux
centimes compliquée hezbollah nostalgiques
magnificence panoplie dam marqués
pareil tueurs divertir enfants
gendarmes effectuées contre-pied sélectionneur
bride frank australie traductions
poursuites maxillaire syndicalistes archivistique
braudel meubles falzar bond
amène victor présenterait échange
bruit affronter utilisés spéculations
douter fiabilité hans andantino
déboires manifestement assoiffé emmerdeuse
traduisent insistance hélas revu
fiable immoral oc éruption
insignifiant vantarde questionnaire épater
exemple passionnant fourrage rossée
sportives dévasté arriérés matins
antidrogue goethe chanté composant
ignoré hacher hérité gronder
contradictoire décoré reconquête gorger
vigilant raccompagner passeront exemplaires
négligé directrice constituent entrant
écarquiller module ain filet
mercure lâche rayons nationalisées
truands résidente menant éclipser
gouverner cour de justice embarrassant conséquences
huissier habituelles allonger tours
mollusque implantée résidus attachée
sylvia mêlent ferrailleur bovin
simulation regardent auditeur embrouillement
luxembourg gènes motos opérés
fermement pastorale interdépendant pénuries
lu témoignages lèvre volupté
distinction centralisme sonder armements
radiateur incitation héritiers tristement
chaos accueillera insulaire dilution
partisan aidant définitivement inopiné
forcée expliquant étonnant contaminer
malpropre ethnie blessées entraînée
port authenticité vaudrait gratification
isolées annuelles incorrect pâtre
fréquentes filets vestiaire vagues
remises éclat temps passés enclos
roulement ordinateur juifs bon cœur
houle pessimisme surtout indivis
précise historique évoquant lotissement
entonner enseignant exceptions mitsotakis
arcane tronc arbre entré bénédiction
sonnette entuber grammaticalement ériger
cheminer internationaux durillon médicament
conte de fées séance rapproche estropié
figuraient espacer couvre-feu émeute
typique voyageurs déshabiller adagio

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