Password Strength

montaigne balade anticipées lève-tôt
initiale irrépressible égards rendait
complètes épave hirsute académicien
théo tchernobyl réformatrice apogée
portugais instructeur décharge résulte
déçue négatifs semblerait entrepôts
couples cordialité mots illusoire
salut crampe raison commercial
ernest finance espagnole regroupent
oncle maternel délibéré méfiance débouché
four rougir flemme publié
fortune déplanter foulée clarifier
traditionnelle tester feuilleter ver
cour vessie amélioré moulin
répété ours déplorable clôturer
souterrain colombie frai linder
torturés pif routiers veine
vertébré épargné saisonnières sofia
menait adresser plumes sonore
sauvegarder immotivé français inintelligible
talbot normes evert habileté
chèvre jouvet pan égaliser
affinité délicatesse cambrioler engagement
déblocage échantillon frottis pouvoir
mademoiselle compartiments mère supérieure apologie
rêvent sociale popotin esquisse
logiciels intéressante vifs évacuer
firent croître tennessee trouvons
autos touchant nerfs réputation
soutiennent conduira banaliser progresse
dépasser usagers femme cake
appariteur schnitzler contributions entêtement
vivacité organisait provision rend
dauphin trolley collectifs antinomie
compositeur rejettent paradoxe procession
lambris diffuse logiquement nina
show-business eure figurait pointe
oreille bouleverse occupées éducateurs
sofres lustres chirurgicale trompeur
surprend aristocratie nominatif raréfier
chelmsford éventuellement auteurs limitations
sociologique réhabilitation annulation rangs
vivra vigne inouï limitant
médicament momentané algèbre loufoque
colonialisme irlandais reluire libéria
dimitri conduites survêtement plane
colonne opposants débarquement epinay
adhésion gibet période soubrette
stratégiques hivernage taciturne chacun
oindre ensuite impur betterave
absurdité sauver sa peau détourner de soixante-dix
excavateur impose équateur conseil des ministres
déplorent fascicule liseur cupide
endurant distraction surmenage jurisprudence
détracter marocaine laissaient épuisé
dus écrasement anglicisme compétents
déréglementation plates duras accordées
chassé égocentrisme prospérer météorologie
implantée présidence parcs hervé
bouillie claquet violer choisis
la valette péréquation jacquard émane
mentale divise louange assiste
souhaitent dilaté fosse télévisé
incohérent intendance emblème atteints
adore réprimer leurs voulons
thaïlandais moise baron mobilise
banque enchantement expulsion pénitence
enchantement rubriques anciennement constats
raquette irakienne refonte revue
bourses sillage débattre rendez
récit concis servis bestiole accueillie
attractif disponibilité jouait province
théâtrales accumuler technologie entériner
cédant érudit stratagème algorithme
raphaël gravillon proférer vêtus
repérer descendant prendra metz
déviation ayrton déchet libourne
barioler irakiens offensant excursion
crever exploité acclamation équilibrée
néerlandais enregistrant exigeant coproduit
réprimande ensemencer législatif aisée
prouvé pendu maillechort contraignante
magistrats sataniques évaporer assuré
apprentie argumentation nef glaçon
transitif résurrection détraqué reliure
adolescent néerlandaise fratricide participer
fécond dangereuses rêvasserie usa
saint patron brillants doucement roulant
rousset extérieure réviser radiodiffuser
restrictive score remparts oncle maternel
liquides funèbre immaculée conception justes
tourbe près semblent blair
évaluée beau rebelle vaille
au-dessus concierge romain impersonnellement
opinions décence frein descendre
négociation rodomontade automobilistes volumes
déconner détester rapports intersection
croient bonace foutre alliance
filigrane brésilienne gardés échanges
constants piquant ferveur roman

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