Password Strength

délicat rural ingénieux baver
pêcheurs boissons revue humbles
banques arroser suffisants fidéliser
prolonger nucléaires vives soutient
comités esprits midinette pyjama
récuse entrant pro polissage
irresponsabilité condensé rigoureux vénération
sauve intéressants trésorerie cheveux en brosse
blum intriguer spatiale séparant
dûment choc paperassier alliée
éblouir médecine spot païen
mise travaillent illégal captivant
occidentale annulée élire veste
alogique téhéran diviser posteriori
présager bobine sucer absolu
herbivore accident facture matinal
lunettes commencée quasiment séjourner
malade apprécient grincer âgés
procuré couvre-lit englobe universitaires
éclat blot amabilité primat
lourds sophistiqués prouver respectable
culinaire annoncés plante manuel
fous expérience croyait fautif
tutelle sexuelle ceux poubelles
suivi souhaitable élitiste racistes
fascisme parure pignon déplorable
compulser débouché dispatcher coupures
américaine rassemblant  rattraper
libertés héraclite  notait
résurrection constitue servitude liaison
maux quinine arrivée méditatif
position fleurissent agréable jury
arrêts typique approches faure
raymond querelleur burin union soviétique
occurrence usurier carpates décida
démarcation total continuateur précisent
onduler exposés regret participaient
étancher guide rocardien risquons
concernait faulkner talus paluche
unis débiliter compté mohamed
électorale communion formules stupéfier
archiviste échoué fahd concevoir
irréductibles prétentieux escroquerie 
disculper corneille sportive rapporté
trio qualifié millésime maniéré
règlement navettes fourguer indélicat
lampe gain permet individuelles
exode qualitative courrier dynastie
justesse méconnus approche terres
désapprobateur entrent sociologique lourd
automates entrent typhon situé
protestants méchamment rendit chewing-gum
trouva fascistes piquant rapporter
embaucher bref humour spot
annonce dé feuillage ouvrage
escorté emprisonné internationalisation insolvable
blesser bru évidentes excuses
atteint bourrasque gérant église
convoquée mètres narrer javelot
supplémentaires arroser tourterelle voudraient
purge lune philo annuel
aspirations appréhender sncf préposer
islamisé saveur docker ouvrières
prévoir patelin procuration 
contemporaines bloque arabes uriner
bol rai délivré tambourinage
éprouvé délaissé compte rendu complexe
box minutieusement toussaint rudes
flot vendent immixtion circulent
valable chiffrer favorablement conclue
lâche concluait tentateur barbie
beatles syndicale classification trouvent
tactiques déposées intégration moore
conduite papillon prier alpha
réformer constance crépu pib
loyauté illimitée espaces descendant
inauguré malséant banqueroute éloquence
bourassa appartenu monter revienne
proportionnelle clientèle thérèse montants
amendements accord gaze nets
contenté bd enfreindre voiles
dévolu excellentes provinciale pipe
étriqué touchés thérapeutique formulées
refroidissement racket koweït beigne
appréciés indépendantiste œil populiste
sont inconsidéré conter aristocratisme
surprenante équité innombrables nain
veinard transaction quarantaine robots
antiseptique souhaitée particulier fidèles
fornicateur céréales sollicités apporter
supplice chier rois masculin
localité réfugiés spécialités éducatif
mastic découvertes hier priver
éloquence poindre traîner appuyer
gaumont attribuées orientations magnifiques
exemples caire promesse préférait
forcé centième souillure refusa
promet rafsandjani convoitise dames
joyeuse apporter nations moniteurs
graphe acquises cursus quant

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