Password Strength

apprêté recouvrement pêcheurs oublié
rechercher rouiller maigrir connaître
destruction penaud delors trouvaille
intensifier horripiler fin renoncent
colloque qualitatif forge dernière
éloquence tactiques falot corrigé
italienne rustique robert soumission
relater fréteur sang-froid prenante
bekaa chefs actionnaire certain
invente parait marquant boucle d'oreille
allegretto blêmir taupe campagne
grillade tarir éraflure laquais
intempérant métaphorique dissertation engorgement
renégociation couronnes pratiquée nice
manchester papeterie correspondante fui
stabilisation accroché illégales écureuil
irritable bas absent campanile
employées motard bêler emprisonnés
feuilles matériels merci concernant
rompt le romanichel brandir
profit livres taillé désaveu
significatives probité patrick travailliste
généralisé jardinier rames innovation
trafic acquit minimum aliéniste
jetons rajk cargaison quarantième
distributeurs au-dessous stupidité canalisation
foulards chancelant eus défoncer
exposés bulletin scénario posteriori
couturier souterrains poli naïf
saurait opposer registre accéléré
élections habitués acétylène digestion
évacuant congrès voisines récréation
achetée signifier cicatriser négliger
histoire évêché chemises relève
midi désaccords mosquées surchauffer
maigret dégâts bilatéraux boucherie
sincère broussailles jetés nourrit
invitées souffrent certification geôle
ulcérant challenger dostoïevski maux
détache comprendre homme ailleurs
miennes projet spontané phares
 longo approximativement alpestre
con commencée monologue métro
interrégional savais caustique pleure
schlass mentale belles mortalité
proposés catégorique transporteur reluisant
hystérique liés bordeaux juliette
annonceur méchamment atteindra disposer
trésorier publient gribouillis gadoue
trouve négociations concernés regroupés
mensonge banian églantine résurgence
évaluations investit erroné pasteur
grévistes pervers exploité démarré
infinité révélateur mythique tuerie
derniers vendôme tibet incitent
pièce révélations restructurations alliés
sélectionneur régions collision noblesse
assez accusés talus querelle
mette gagnera éléments démarche
californie hure francfort peler
gains inépuisable pénale vertes
éventuelle versements heaume complices
destinations conférence ébranler dirigeait
gorger prenez sperme borna
antin faiblement plus bas productive
envoyées paupière accumulé variables
belle-sœur deug serviable disposant
canaille étudiée installer physique
traitent décorné este serrure
naturels tintinnabuler ornemental pèse-personne
distances jogging considérables divisions
démocratiser impassibilité fixer granivore
syndicales garde-frontière bons huître
clermont séminaires caprices brice
concerts innombrables jingle prestigieuse
han fortification plate-bande insociable
brandt varient ceux guichet
plaisante fatalité saccharine récitation
stérile braquer interpellation faibles
oxyde intendant collaborateur lacustre
cantiques généralement nouvelle-zélande consacrant
attiré rebrousser arrhes abricotier
poulie bongo culturelle nonante
sauront invincible exprimés associatif
doyen instituteurs sage-femme montagneux
trentaine togo crèche provinciale
pravda désœuvré particulières contralto
odile philosophe acrostiche philadelphie
montrent paresseux expirer tension
sentiment approcher déclivité promène
repu redite inconscient atout
prestations distraire avouent volvo
régine assurant silencieuse définitive
ronger crient organisation satellites
senne prochaines raviver féerie
contrarié essayage villeneuve talon
archet interprète expatrié fautes
esprit musiques lunatique corrompre
illustrer pavage étoile du nord épingle de cravate
de consommer baignoire revues

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