Password Strength

vernes ceindre indirects bouscule
allaient conteste besoins mentionner
flore ténu strictes politiquement
essayant gars israélien habituel
combiner exanthème versailles contenues
automatique drogué relief ingénieur
employer mesurer accrue conclue
convainc otage aborde lycée
africains persuader mandela traque
accentue ventrues leclerc danois
gérondif relâcher disposent atteindra
développant rétrospective cambodgien infécond
énigmatique méthodes désigne aviez
versements suisses propre accidents
clochette taper cas collège
der simple bilbao têtes
dignitaires douaire niais avances
profession enregistrées informés accomplissement
levant déplaisir confirme onomatopée
adroitement ironiquement autant considérables
rêves indiqué versée tuile
calvados cumul utiliser truand
inféodé manifestant romancier agents
priorité cases vraisemblablement frénésie
avancement comble condamnable provisoires
rail état suffisante thèses
sicav tragiques faudra vertical
malheur blessées relativement divinité
reporters attirant mentaux onomatopée
caractéristique enfantin obligatoires astuce
internationales salaires vulgaire salon
réunie arcane saoul folie
bêler sous-vêtement complexion significative
rebelle colbert conquérir noire
progéniture égyptien lyrique rouvrir
titiller endosser coexistence exporter
sociologique jargon créé cernes
sornettes mariée inoxydable conférencier
fûts nationalités bacon applaudir
prétend conférences australien piocher
convoquée godillot déchiqueter avorter
distant copyright ho échéances
endroit butor offrait ici peu
engouffrer rompre chats démonstration
rabaisser favoriser jospinistes temps
conte gestapo imposait anonymement
organes crabe frégates si
pruneau todorov parlements éprouve
allié chagrins courtes mourir
laffitte déflorer andante lituaniens
nouveautés fracture vache brouillon
légale comparatif recette progressivement
croûte imprécation brevet menace
authentique hammett donnerait escroc
pusillanime rebaptisée fanatisme boudé
opposé poste émetteur incroyant adolescents
fragrance resnais adoptent aisément
embarqués acidité remanié infernale
intéressés pitance gazole paritaire
alu violents saupoudrer étonnement
pancartes sérieuses laissée pèse
slogan détonner feindre appartenance
amonceler soupçonneux luxe prédécesseurs
dilution dépanner manigancer continuateur
optimiste remboursements verbaux roupies
limousin témoins emportement corneille
inopérant engagées cap remplacés
demandent ampleur martinique permanents
comment trio signe de croix impérativement
préférant sacré bobine remorquer
matériellement payante létal modération
inonder écossais étroits début
centraux suit apaiser découvrant
hun centenaire plane maroc
tranchant impersonnellement traditionnel négociant
commander surveille journaux michèle
photographes client négation engrais
coalition do triste rédiger
griser cahier indispensables instituteurs
entendement compétences cargo lions
recouvert gardait coupoir tortures
sataniques récupération manhattan diagnostic
fumée maître bâclé centrée
ina souveraine commenté adultes
satisfont découvert parcourir maman
compacts somalie lexicographie mars
déplace introduisant participent tranchant
successif meilleurs surmenage documentaires
messagère cailloux bastion perçu
écart natte encontre dérober
aligner évocation valse argenterie
devenue rechute empreinte émancipation
incarcéré mater influence insistance
sponsor chah noces irrépressible
appuyée envisagée nase prononce
amusant controuvé performant humaniste
rappelé café polytechnique devaient
regarde minuit frankenstein solennellement
devez agrafe jeep radin
angélique détournés intensément conseillé

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