Password Strength

norvégiens tels berlusconi rochelle
midi sophistiqué mec halles
agacement resnais passionné étoile du berger
navale échec passants fouet
signalés trésor balles désespérée
désabuser touchées pressant ajax
aient nervi civilisation engrenage
usuel tibia secrète pacifiste
potiner ski coussin réseau
décote miséricordieux chadli rang
parvient lodz détresse cravate
éditeur maison parer événements
accus michel assorti fée
privilégiés smic salzbourg planter
attentivement frustrations punition banditisme
pressenti justifier moments mali
scène saint prototype glande
bienvenue quantités morts rabibocher
proposée toxique masculin mosquées
semaines prématurément gosses banqueroutier
axée africaine décoratifs positives
préoccupent joliment lavabo fuites
noix retenir succéder kazan
ponctuelles éclats ici-bas indéfiniment
regardé messagère asservi arpaillange
configuration extradables dépendant prophète
balancier pessimiste intruse giovanni
contaminer terrain attiré toi
boys meurtriers proscrire carrés
parapher blanchisserie disposent tanker
interventions pétition lac automation
dramatiser fracas gérard naufrage
routes préparaient littérature beatles
tristesse rejeter parlement rassemblant
tokyo provoquent patrie coucher de soleil
douaire stabilité communiqué cacaotier
transgresser stage tranchées toile
rendu démonstration ananas échangées
raymond conciliateur métal excuse
perçoivent ainsi dénichant socio-économique
contrariant polygame ammoniac figaro
enseigne modifier seydoux surpayer
déplacer empereur distrait conclusif
u.s.a. conformisme conçoit armada
citant demande obligeant antisocial
perpétrer vaciller ventrues mas
canaux alouette accessibles fourchette
agresseur partisans travaille ondes
indéfini pouce topographiquement slovènes
déférence dessinateur attali miellé
douzaine adminicule option clubs
tricher classique éloges concerto
debussy espièglerie obliger infraction
accoucher jute urgent métaphorique
insuccès meringue cicérone principaux
marmonner antérieure trompeur violons
potassium fusils ère branche
vivante bouteille abyssinie permettront
chromosome fixer patience septième
placard pouls frontalières illusionner
soupçonner catégorie tyran joujou
épiler tentative facétie missions
routes auroux judo relevé
jacky félonne restitution apologie
contaminer évanouissement serré blocs
paupière considération réuni précédé
vinaigre poignée de main bain dérouler
alchimique pic-vert ordonnance dominique
choses coffre dépassait millionnaire
interdisent respectabilité bannissement chevreau
Ève inconnue adonis gardent
auditions portugal buffet libéral
ballast donc enquêteurs limoger
instar noms persuader doléances
basique mari représentée éclairage
jeans respectabilité iniquité rengaines
assombri denis touffeur tristesse
croyaient extradables inconnues mince
battue grené seize matrimonial
personnes dubois channel ménagé
personnel magique poli grégory
affecter notation boston contentement
nerveux produira restée venus
guitariste autochtones général transfert
robinets eau illégale gouaille fumeur
décote nuances manifestants nomme
bouchée skieuse oh pleines
fondateurs are autobiographique vaclav
désolation votes guerrier potiner
soupir rédaction vallet montalembert
vingt débloquer criant stellionat
graffitis vénus réaction myopie
unanimement poil rhin parvenue
somme argument jeudi inégal
désamorcer hiver stipulation crépiter
neveu dilater désir dénouer
chaudronnerie désuète pionnière célibataire
stephen passionnant continuent fièvre
admis électeur clairsemé technicien
grandeur farcir étrier fange

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