Password Strength

présentations péninsule jute mystères
antécédents ornement rossée nature
stores ne détente pierrot
jouets jachère schlass support
monstre superman gager cafardeux
éclopé représentatif créent désignés
lévi investissement privilégiée touristique
dégoutter lambris recueilli demandeurs
gravier requalification diminue renonce
sources théorique officielle algorithme
unanimement apporté déclenche réverbérer
compétent ici-bas commissaire-priseur pastoureau
condamnant mensonges pensionnaires doute
blessant jolie beckett acrobatique
fonctionne appuyés normaux contrôlés
accalmie culminant avenant unanime
imposable espèce coréenne notification
serf pédagogique portemanteau véhémence
explicite brevets appelé créé
interrupteur noureïev routière laffitte
génétiques tubes réagit croyaient
affûter monarque popote failles
détremper tardé venir timbres
défraîchir portées liant chœur
obstruction alambiqué flous aggraver
décentralisation fumer exigence avance
mitoyen restrictives dilettante stands
imposable dictionnaires entrevoir rutabaga
vésicule tonne failli moscou
recherches accus subventions présidé
détenus injecter bible particulière
annonceur branchies attachées amorcée
avertir tranquilles figures patronne
onctueux appartenir environnement laxisme
désaveu étudiée coulée ourga
citadin empires pilotes méprisable
désarmer lancent régiments autonome
nationalité flamber isolement 
impliquant représentatifs agissant antiques
clame fédérales rudesse tirant
les carter maxi désireux
émerger hors étamage bizarre
dirigeait atlantes hébété tenue
levé agissements limer indélébile
hargneux indolemment permettez vœu
lettré théo ouvrières triste
dernier dois notre rapatriement
alogique italiens gaudin pôle
prêts caca hérisson charitable
traînent exclut israéliennes indirects
ministériels dernière craintes représentée
lumière banjo participation aménagé
imperturbable moteurs entamée filets
loupiot exporté meurent attire
cataracte esthétique auto préférée
différends métaphorique intégrité siennes
abc contributions tellement empan
grossesse frileux rentrée désengorger
ainsi spécialement camarade recueillis
bible hésiter altruisme littoral
contenait semblable infecter fraiseur
assise université gestapo globalement
réputation notablement hégémonie déférence
décacheter sas amende militante
utilisateur moral majoritaire enveloppe
flop consultative approche australe
cervelet tripoli inconsistant larcin
dépenser jute sorcellerie tortures
méprise aquitaine assister signature
sûres ciment grogne sam
johnny avarie clichés mœlle
vallet spontanée pic martinez
commissaire orner pivert utilise
soleil poubelle martyr primé
envoûter plaidoyer loger cliniques
clan technicité élaborés sensationnel
morne escorter élaborés augmenté
refrain bigarrer poisse jugés
oubli rivales décrire déteindre
allusions offrait interstitiel courses
sale numéros indirect lacunaire
écriteau frais invente transactions
aisé oléoduc faux jeton crûment
organes manille mafia acquis
gros mot touffeur aires luxueux
plage taper assassiné polyphonique
intervenue cubes chagriner cuvette
réunir conifère proxénète patiemment
appréhension âpreté subissent accessibles
entier détenus relations occulte
paraître office fumée connaissons
fonctionnement purgatoire libérés pattes
courtage trouver traces files
interrogées bourses dévouement plouc
volontaires cafés sartre voitures
broder sinistre handicaps décrit
linguistiques grégory destinées persuadé
supposition antidrogue atavique coupon
italiennes fondant insensé remettant
expatrié vertébré différends cherchons

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