Password Strength

devenus démerder sillonner collet
passeront évoquer autorisation saints
renvoyés sens forge biberonner
charrier défini âgées cécile
vigilance mensuelles ébouriffé informatiques
obsédant généraliser front buisson
souhaitaient imprimeur purs têtu
âtre préconiser cahute exprime
documents ascétisme touffe impulsion
singe fouir expliciter relier
mollet madeleine décrets oie
croyaient symptôme agissant suppliant
prenant condamnée ciel assurée
district éternelle résolu pause
frégate intraitable résultant dénombre
honorabilité peigner arbitral annexes
correctement progressistes cajoler plainte
secondaires réunies blanchiment diplomates
actuel crédulité ain larynx
sorcier ennuyer jésus-christ glouton
simuler pente baïonnette hospitaliers
remarquables docilité élégance concernent
constituent allô engueuler falsification
surprenante citronnier châtain fainéantise
oral alain hulotte anche
déstabiliser réformistes nurse infirmité
torchon fous justifient descendance
manuscrits fraîches jurys ambitieuse
antennes aires insuffisance renverser
joindre entrevoir médecins séparer
arrêté british raide douma
affirmée dernier lieu dette englobe
diffamer durées faiblement adjoindre
fait assurément films approche
hammett adhésion russophones célibat
valéry lyrique recruter dirigeantes
collégiale contrarié festivals débâcle
cajolerie végéter profonds moral
aquarelliste ample vice puzzle
renouvelables entrepreneurs tronche nixdorf
grue référendum prévention arbitraires
boiteux rénovation sourcil batterie
régulière raciales deviennent précédant
cuistot déménager cep démission
bavarder votant menés lentement
réaffirme décacheter adjointe églantier
introduction miellé courir invités
décider homélie pots évaluée
morris pastorale maîtrisé ressenti
reconstituer fichu pop inspirée
champignons fonda écoliers expéditions
caractère fondées mesures réformatrice
écouler bavure prudemment estival
remplacé déposés edgar aorte
choléra qui devise transmettre
salarial propager tactiques déficits
pravda frivolité course de haies picorer
clouer guatemala seule radiateur
contentant envoûtant brunissage diaz
condamnation bourreau indicateurs fameux
illustrée penchent présidence intersection
confirmant négocier obtiennent naturels
liste cancer mortel brésilienne
boiton courant appétits sarraute
prisonniers couvert de raturer pontoise
soutirer dispositions bitos europe occidentale
décoratifs messie quotidien apogée
musulmane couvre-pied papillon photographie
chargement localité ristourne autochtones
hors d'œuvre grossir tracasserie limousine
transposition cingler matrice sentier
égotique dégradation armées indésirable
islamiques rénovateur renouer félicitations
raréfier irritable bûcheur habituel
pib indic comporter désirant
suédoise divaguer fric dégaine
défunte dû disais contemporains
oriental bundestag pétroliers bourreau
contractuelle conçoit montaigne livrer
député nécessiter titulaire diviser
trouvera logés magnanimité palette
régionalisme équilibrée ganse plaisante
joies préférait agglomérations comédien
dédain fasciste hangar acidité
cambridge franchise notant onu
abruti porteront délibérément tenta
complétée discerner navale succinct
traque contredire feraient surnom
snob cor lettonie javelot
bouton entacher tournent planque
amont radiner enclos cloche
bundesbank mouche résolus répugnance
dérober recours demanda évite
mythomane cingler remettre auquel
bouquet hocher vôtres urgente
proie communs innombrable farouk
affluent by agit réputée
dégueulasse citadins people saccage
sensibles interrompre ponts craindre
épouser izvestia rotterdam consolidé

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