Password Strength

émail bananier symptômes inculte
menant évalué incarnat spontanée
briller étagère cassant anatoli
limer impatience échangés chef-d'œuvre
aller aérolite puzzle battants
doucement savates ronfler preuves
paralysé nurse téléphoniques sylviculture
vents mérité gagnants rabibocher
chercher thermomètre armés adoptant
assourdissant capitalisme balanchine dégât
formulation marceau chuté interloqué
prenant sophistiqués jogging traditionnelle
mesuré comité cédant trentaine
appréciation opposent dahlia ta
liseur convier héberger agrandissement
théâtralement adoucir réception subtil
gaucher serbe vadrouilleur amidon
paradoxe innovations lès sécurité
faciles antonyme marbre longo
chou-fleur féerie angoisses accomplis
position trempette scolaire toi
réagir trek indubitable examiner
emballé entourée égocentrisme shampooing
rationalité lueur basket déclencher
quels égale enlèvement spectaculairement
rétrograde hideux rendant foisonnement
antenne supermarché intégrées décacheter
près rolliers déteindre délibérations
lisière lime archet combien
robinet appareil évidence constantine
refuge drôle épanouissement nie
rauque marner dramatiquement illustrent
introductif prodigieux not troyes
vigoureusement amoindrir gomme arabique renom
abstraite indispensables mécanisme dépêchés
enduire revoir voulut relie
honte lenteurs huile dépanner
désaccord bailleurs servent supposer
mordant noce apporté vivement
vitez entraînera celui-là compétitivité
apparemment tank serré descendent
poids agitation chirac glacial
citant consommation mercenaire coexistent
matériaux compacts clans rien
entrez bulletin assistants opa
brandt pusillanime goujaterie repères
émotions inacceptable donation bagages
évolue exportations orchestrée mythe
istanbul bonté donné scie
peintures sentant pomper capitalistes
ferrailleur associée austraux sinueux
adjoints capitales punaise accomplir
suivante canadiens corporation clandestinité
horn appellent vinaigre enceintes
laurent signé réunit décoré
armement exécutés enfers recouvert
guérilleros liquidités agathe ancre
réquisitoire charger accents vert
autobiographique attroupement confidence effronterie
torturé modeste immuable purge
journalistique narcissisme recevant parfum
auvent artifice cantine dentier
subsistent verglacé trône affirmée
bloquées vidé arrivées devaient
abonnements convertibles comte intarissable
anesthésiologie concret dévier calculs
épuisement vidé souvenirs fonds
dévaloriser rendez-vous banalité tropical
arranger connaissent natte délégations
derrière aérodrome retenus survécu
unions haussmann séville données
abc biblique mahométan supposée
avides télématique ukase nanterre
conçus précaire détourné exécutif
mouvement fournira foultitude balayé
excursionniste installation infecte endommagé
indemnisation stabilisée alexie condamné
linoléum ganse naturelle apathie
dispute léopold lanciner millésime
troubles mise réformateurs présenter
glacier gardien tentateur boss
solidaire relayer commission inculpée
nuit bergerie excuse géopolitique
bouleversement tribunes halle franche
remporté épingle de cravate implantés révélations
fusil chenille montrait vaudrait
troublante héraclite précautionneux abrite
flammarion insolent initiateur libraires
belvédère coefficient armistice baudelaire
défaillir chute huître billet de banque
coup d'etat bouchers marocaine exprimés
accès réactionnaires arrondissement apparaissait
organiser mission drôle annuel
rivage approuvé réfrigérer cloud
assassin bouvard cupide lévy
compatible bourgeois info menstruation
immobilisme lancia cols combinaisons
celles mets humidifier bacheliers
rationnel mer connaissait goûter
boys belges esthétique attraper

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