Password Strength

pressant chantant rené particularités
protêt dérivés allécher envahi
paru catalogues possédait organe
braquer politiques ramassé aérostat
érafler étudiés griller priorité
one ferait hier rotatif
sourd perforer copenhague bucarest
ministre ravagé terreux marées
ford humiliation pain maillet
flop fagot michelin adultère
gaston pénétration inquisition espagnole
associée châteaux libanaise mépris
armoiries nomade doublure perdus
déflorer française parente paumer
frégates pointeau moustache dimensions
exercices propositions systématiquement mine
rampante procureur lectures sida
épouse infrastructures avenant coup de froid
robert emberlificoter saignant brutes
rêve consultant dévier interprété
allemandes troupe lassitude sculpteur
sillon plate-bande amandier bousquet
soulier inférieurs éventuelles tain
nombre limonade djakarta exceptions
convertis craignait étoile exclu
major perfectionner élitaire hâter
hacher urbaine présumer déchirer
vinaigre camé poignée affourager
annulées ponction hauteur supposée
erreurs effectifs celui-ci comédien
tannique fiasco concupiscence nuance
demanderesse apparus retentissement acquérir
sérieuse registre serait ensembles
forêts augmentation  grive
enfin dilaté coudre témoin
prétendant crocodile bruits choisir
disponibilité pierres scandales attirés
tramer autant complètent nucléaires
dénonciation préservation allan ambition
fabriquent lambert minuscules house
miroir desserts gouvernements nécessiter
détruire huissiers collègues crise
indépendantiste associée nabot réservée
sucré réciter ain mettons
utilitariste hypermarchés volontiers heureusement
révéla terminale dupuy carpates
score importante conquérir philippe
patriarche suisse lointaine fondés
vinaigre archéologie objectif installé
demandes rouille amen contredit
mariages paraissent aérostatique précédée
mécaniques cuisses indirecte convient
enrichi louche libérations poison
pensionnaires crisper prestataires conclusions
fac factures treille ouvrages
 peiner fracture maxillaire
croissante étirer thym productions
préface nomination firent antoine
accession anticyclone poussés long
équilibrée puéril groupements gentiment
cherchaient pénales travailler coaguler
lacérer donnent logo décrété
molotov assommant transmises anthracite
tintement salarial résultant arabes
john nonante triste dérober
démis poivre arôme subconscient
patriotisme formules contestent pré
au réfléchi transmuter évoquer
hezbollah moulins stratégique taciturne
amortissable désapprobateur  précisant
lubrique débordements naufrage contraint
chinoises ortie glandouiller route
miséricorde payé téléviseurs bottin
paralyser parution reculade croise
exemplaires circulant exprimer basée
âne anémique affection fanfaronnade
lasser collèges prive ensemencement
peines suggéré désert investissements
fermenter franc bactérie disparition
aumônier particularités omoplate partisan
goûter menacées bangladais chimique
affirmations assembler canada intestin
inégalé latéral guelte brut
constatent bâfrer dessiné nourriture
arithmétique succursale contribuera vendus
tragique philips machine principes
porte-billets inconsolable installé observée
indépendante assurés entériner reconnaît
placent aboutir chaleur éclaircir
dissimuler apparaissent synergies chanceux
rompre annuellement homologue remboursement
miser timbres support prometteurs
prospective piloter potentiels éditeurs
ascétisme né verse régiment
attendue inexhaustible envoyer recueillir
péjorative gagné pouvant jargon
indifférent mobilier enrique charisme
raphaël contesté oncogènes applaudissements
performantes inaccessible martin michael
abominer rose amendes résidence

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