Password Strength

couvent adresse hôtellerie athlète
éventuels réussi chante salisson
rectorat bobine proposait signes
architectonique constitutionnel egor nuits
serviette condamner billy annuellement
magie azur assainir différé
tueurs multicolore merde froussarde
chiard connard obligatoire découverte
eugène croquis imaginé flegmatique
encadré écologiques patricia capable
riposte réunis moisson résidente
émergent aniline marina mineur
touffeur explications moisson votre
allée démagogie réagi veule
préconiser savantes drogue ski
étourdi favorisé valet boîte
griffonner bananeraie méthodologie balsamique
pincer courte ravages châtain
attribués intendant  imagé
liban plongé défendu venues
agneler doigté manger quotidien
évidemment intact honnêtes vanter
rendue épaisseur chou-navet évoqués
olive hâter le aspire
agacement ongles analogie edmond
soixante chevelure libéralisation condamnant
houille âgées campus appellation
compétente bannir exaltation écluser
garantir bandage pollutions houligan
cloud rouen fardeau alpiniste
signifierait cieux appliquant nonciature
bidon aventurier accumuler fluctuations
veston voyons oreiller changement
avancé scellé championne fumeur
entrepreneur frimeur courgette poindre
alexie phare mandataire ravitaillement
évaluent commises aberration habit
danièle mythe mères homard
communication citadins stabilisation professionnel
marché barométrique collationner regroupés
galaxie rendant indigner composants
rechercher boursière tradition poursuivie
favorisés défendue adamien fourmiller
sterling immotivé délibérer agacer
évènement rationnelle donetsk voici
absinthe azerbaïdjan immeuble botte
baron sucer crotter inéquitable
gouffre philip déposé migration
connerie supplier indépendance africaine
traite malavisé béer colonies
roulotte comédie entités colorier
boucherons sataniques technologies inouï
observateurs paraisse satellites médaille
luxurieux gorbatchev dépend foncière
menant îles entendu roubles
londres peuplé démesuré manuel
ajustement transférer âgée accessoires
faudra modernisation durabilité argotique
trace battus restera validité
procédés placement soixante-dix chausson
constituera rigides vacuum lugubre
minoritaires dilaté roc productique
fantôme espérances courage destinations
guet-apens dakar réagissent fleurissent
violet sandwich surévaluer température
permettront laffitte nain pichet
tigre objectifs demeurant imprimerie
brio marocaine débuter calcium
également gelé dégagée picoter
moissonneuse-batteuse salomon inéluctable situé
enguirlander heidegger francs évalue
pleins comparaître dentier fêté
répartition piano préserve constat
réduite grippe-sou donnait concurrentiel
normalement errer insurgés mémoires
visuel figures dirigeant vaudra
allemands coincé venue égarer
blanc ai entières performantes
réclame endormi envieux plisser
bavarde petite-fille institutionnel mans
embarrassant systèmes examine linguistes
venezuela introduire dynamique denrées alimentaires
conformation flic motiver rentrés
déplacées dévaster indépendantes devez
test inacceptables mastic moyen
réacteurs construits roger traiter
cul sec reconstitué dalle esquimau
auditeurs bluffeuse perme emballer
enfers laboratoire suie super
écrites exceptionnel égyptiens éloquence
darder traités mandarine latino
montagnard falaise romanesque mythe
désorganisation corroborer bagne conviction
artésien revoir attrait accessible
provenant patrouille instigateur rationnement
ruse consterner binôme financer
shoah rapatriement numérique familiers
crotter camus huitième épaté
scrupule financements mot médicalement
carrés minorité répliqué hormis

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