Password Strength

gomme gratte-papier taule décida
emblave approuver pensant sous-entendre
désuni nomination pachyderme riga
invite liées perrault abonné
abricot expérimentales phraséologie bourbeux
broc broche pâtes publiés divorcer
miami instinct évoquer juron
re tuées occasion lignes
pérès laborieuses songent phares
aurais hameau incarne coup de feu
motocyclette désaffection suffirait simuler
réponse mariée déporté blasphémer
alpage imprimerie envisage professions
chausse-trappe fœtus dialecte policiers
forment décollage reflet bravo
respectif formations howard représentaient
exploitations shell implicite stalinien
surprenante vitro privilèges désarmer
bouée envahi sociale enceintes
timidement détracter détestable compris
oppresser tartelette vérifications résistent
madre mecque demeure rebutant
délibérément consommé normal rhume
corée parlée embrasse courage
pluies serrer empires aménagement
lustres caravansérail anciens cendrillon
emmerde évidence costume dominer
divin choisissent pacifiques quotidien
faisan diriger séparées insiste
vietnamiennes répressive entreprendre haussmann
arriérés exhumer hurlement ton
indication monsieur proclamait pourrons
transitoire livrées aviron mont
syllabe maillechort adhérente désespérément
orné affronter aériennes piquer
manger sénat festivals figuré
vienne dévaloriser rebelle appentis
cultive consacré homogène baguette
voûte obligeant balnéaire volée
charcuterie fléau catégoriquement décharger
posé défiant télex technologie
chargé réclame encombrement détiennent
annuels renforcée créanciers lancent
meilleur publics balladur réuni
possibilité incluant inguérissable adoration
récolter efficacement thérapeutiques métaphorique
conceptions flanelle université identité
augmentation lexical crème tournait
exquis près cogitation opérationnelle
molécules telles que sionisme banco
granivore maghrébins chefs louvre
participé farouchement aisé accumulation
votes pompette admise idiotie
apologie oxygène régionaux triumvirat
poire ovule duel moralement
procédant financés sanglant encadré
académisme masculine renforcé barrot
acul laquelle ténors tournent
redoublé gratte-ciel participent chez
cri giscard police prestidigitateur
réputé épouser conclue avez
stimulation poix gupta saine
dole aérostat engorgement coup de griffe
attentif alcoolisme possédait majorer
loup lacunaire loucheur copenhague
vol poussoir photos têtu
cérémonies adverbe rembourser ventrière
confiait réformateur charge étirer
mireille assombri veux couvertes
souillon instructeur représentée supplément
antérieurs goûts sarraute équipement
notice autographe roublard cadre
probable deale indicateurs variés
adulte soigné polar altruisme
antisémites jaillissement khan énergie
refrain tâtonner sensualité armada
solitaire éventualité japper philadelphie
mickey écologie emmerdeur occidentales
borné adressés chargent rome
ambitions communistes reculé contacts
ardemment abstraite nipper bénéficiera
dispersées confortables entourer accroître
étang correspond merlin intersyndicale
défectueux aperçu princes serviette
bombardements interlinéaire humaines rapprochent
identifier tournoi limoger pif
gautier confié cuirassiers risible
encontre composent revendiquant phono
évanescent partager reprises bahreïn
mitraillette véranda oléagineux robuste
propagé acheminement majors championnats
majoritaire pinochet essayé dépêcher
déflorer pull-over battus libérales
emménager stylistique diffuseurs commandée
priver courtes applaudi jargon
ovationner collant bacheliers sombres
estimation octroi commenceront footballeur
tôkyô violation demeurent mérité
brebis dissidence consoler vocifération
laignel obtenus introductif hugo

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