Password Strength

naïadacée asynchrone gaulliste vérité vraie
variante inintelligible combattants fondation
synthétique vue voisins attraper
moldave préoccupant contribuable susceptibles
illimité originel réagit réservée
vraisemblance corridor ancienne maquette
grondement rangées contenir mutuellement
close oncle maternel logés entraînement
amie tranchant accéder groupes
distributeurs pertinent efficace auspices
étudier correctement turbulent digne
pudicité ina fréquence bêta
tortueux plaignante conformes eduardo
dilaté soudainement assistante putain
héraut vaille souliers tropicale
douteuse parution dépravation harmonieux
dresde accompagnés azerbaïdjanaise info
rassemblés appellation volontariste redoublé
recommence autre have fossiliser
théoriquement confirmé académie queue
vieillir refrains grange réverbérer
sereinement résider obscène tentative
gratuites création porte-clés combat
prestement prospective basutoland tons
lâche taille étonnante regagner
fragile parallèles disputer négocie
ambulant colonie chèvres investissent
entraînement boudin calculée malgré tout
tortiller salon soulevé révélateur
percher sangle abusif mélancolie
défauts contradiction ferreux baguette magique
dormir modernes chuté amélioration
muret patent répétés justifier
poursuivre anthrax noëlle recomposition
grenoble irrésolution corporellement récompensé
bonace réunissait ressusciter récolte
banderoles cénobite gifle péjorative
rapine soin stérile concerner
transi originel histoires 
perquisition métal assombri gard
culturels rémunération graine vêtus
drogue bourreaux bombardements prudente
prévoient herbe potiron comportement
confins forgeron hébergement éclat
soviet ajout prématurée ineffable
embêter ose tri influencé
subsiste distinguent lacustre persévérance
obligés lemond parfaite consolidé
lustiger adverbe pécheresse organisateurs
minorité destinataire cerise savaient
voués pic critiquent illustrer
envieux judaïsme cadran loupé
rapproche compiègne apostrophes formelles
vogue cotonnier atchoum infrastructure
coproduit pègre imposition jaunir
permanentes élus peint déficience
ici peu séminaire biscornu narrateur
portées fourneau revendiquer assistance
match final province maire bouchers
cadran écolière loyauté dupliquer
base bague espère respect
modalités fibre permanence côtoient
faits injurier acclamation blé
châtelet desquelles affaiblissement trouillard
multiplier industrielle médecin légiste cet
accidenté alimentation inventions lève-tôt
dépravé sarancolin préférée crin
montfermeil provoquer azoteux prédateur
docile urbaniser contraire de leclerc
souci rayer gloire poularde
loire riche meurtrière adieux
agronomie obsolète charpentier alléguer
anneau abdominal notation contentieux
marathon spécialisés marrant muni
tranquille menace examens valeurs
jambon intégrité organismes autorisations
café échangé cataplasme raccourcir
bâtard reine porter mythes
chez nous lard verdier endettés
jacquard alcaloïde personnage lanterne
traits dirigeait licence ressembler
pluvieux écologiste étendue transitoire
catherine habite bénir huis
duel hall démocratisation justifient
demandera mesurée trésorière guatemala
dégénérer unifiée exposants chambranle
risquent nimber interrogé incompatibilité
 cube populairement huiler
pâturage mien inscrit détraqué
raul millau caractéristique décentralisation
fourmi dessécher rejetant lave-auto
récompenser arranger manière sépulcre
compétitif carnet poudres lewis
fièrement méconnaissance réconforter héroïne
blanchir changer segment brune
marchandises commando froid rectorat
clairvoyant sensibilités kiev changé
signifier reconduction alinéa bicentenaire
laineux bagarres trio suggérer
orientation bâton cologne coûté

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