Password Strength

veule railleur plaidoyer préconise
avion) for restreinte tristement
touchant luxurieux usage clé
reçut septennat fréquent berne
embauchés euphorie crotter éminence
surprise publiant émanation lampe de poche
désolé performants prudemment rançon
philosophe thèses ignominie gens
fendre jaguar créativité téméraire
champ sensations bergsonien comparaison
quarante soie anéantissement héraut
négociée portées compacts détenu
participé exceptions gypaète empoté
khartoum inventaire accepteront autobiographie
inspiration discuter actrice concepteurs
sot chanteurs concède marchandises
rames disputée divergentes automobilisme
déclenché nomment mondiaux cedex
cloître merde deug locataires
maudit proclamait transformation grange
lampyre agressivité œuf ananas
alimentation séparé excès dentier
droits de douane confronter jure fleur
ivre crûment sidérurgistes giaour
rencontrées incinérer décidés barcarolle
souhaiteraient athéisme inégalités cliché
million chiffres maquettes exonérations
stage témoin gdansk turc turcs
auparavant bruxelles boursier lettré
campagne düsseldorf animateur publié
fiches compagnon génisse suivie
conjuguer facultatif allonger allié
impression nil recommandé modestie
arrivage jones beauvau quart
appréciable distribution bénéfice net hypodermique
contamination courantes négociée temps
rassurant douteuse tempes élections
déclin code froid médicale
 planétaire grasses merveilles
volubile ronfler années vade-mecum
négociation boutique apprenti escarpé
envergure énumère globe américaniser
vieillesse automates cheminement rajidé
despote stranguler mule agencer
tarte exclut séduisant limousine
rousset auschwitz prenante crucial
globalement mystérieuse pompeux angora
nation baisse dietrich entrepôts
solaire compare sentence pressenti
éternuer arts leader donneur
multipartisme duc simulacre cosmos
gorbatchev travaillé invraisemblable michelet
ardeur écart bossu parlé
bataillons kiev stockholm oui
constituées venin dévier toilette
hypertension mésintelligence tentera auroux
claire fonctionnaires marlou angoisses
irriguer gombo  reste
ambiant cuber impliquer venir
bureaucrates garnier ces anc
alpin gèrent téléspectateur soixante-dix
brutalement accélération terminale lave-auto
début promotion anatomique slip
bilans surnommer angola connerie
installés assumer loriot compétitif
chaudronnerie kenyan vénéneux merlin
écrivains soixante-dixième resteront rigides
souillure piteux discours diplômés
casino clocher gonflement plaidé
archevêque masque chocolat voie
malveillance ameublissement spacieux détenteurs
escroquerie socio-politique puissantes contrée
autobiographique exchange rengaine aiguisé
mortalité préparés tournois écrié
exprimée raconte synergies grammaire
sociaux présentée bagarrer premiers
réformistes adulte différencié 
trouvé infernal usurier annoncer
prodige pompette films superbe
pureté épatant intelligente nageoire
irréfléchi impôt indirect maturité amérique
poèmes wallon déroulé alléger
fournis croyant évidence résolue
fondent balsamique freinage décacheter
hypothèse  rassemblement utilitarisme
chiffon pourparlers retrouvait avorter
gradins régimes méfiant quels
disparaître textile innocence bourg
copulatif flots connaissent crucifix
logo champs patiente exhorter
progressant variables prolongée céréalier
rajidé prophètes durant illustrant
ecosse vive échiquier phrase
martial tom colporter jettent
médicinal refusés unit lichen
lange caméras benoît reçues
atmosphérique réciproquement profonds historiquement
acte chiper iranien faillir
goulu cynégétique divinité glacer
khrouchtchev réflexions brève navigue

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