Password Strength

sony pétain consentement néologisme
monté rameau haineux azoté
bout douteux ortie posé
diagonale dictateur entendra harpe
inaugure javelot coûte shelley
baser traîner colossal dieppe
empire opérer prématurément libéral
protéger fabiusiens repéré demi
affranchir défaillance voyant lustrage
celui totalement calmement prédit
autorisations délibérer delta traiter
villeneuve attrayant lier faim
résille mépris obsèques crampon
estampe bitume dit coton
bonbon proliférer insultant journalistique
présentation montant timoré ténor
distingue antipathique unies déficit
emporte vanner transitoire salariés
facilite match gêneur locaux
précédentes épervier divan hermétique
contraignantes chateaubriand endurcir volontaire
séville prive henry réformatrice
aucuns londres espion marlou
labourer légende concentré affirmer
intéressé glanures réfère 
postal naturiste magnifiquement recettes
rôtir voyant beckett couleurs
offrait électeur éden monique
pommier hindoue ouverts continuel
bavarde suzanne financière bis
maladroit mosquée réélu renfermé
faux pas taxer écarlate macao
querelles concentrer pollution psychanalytique
bavures mocheté cerisier chétif
leadership habite pieux compétents
incompatibilité glasgow reconstructeurs attroupement
nicole andorrans fraudes conclusions
habituellement maître vœu bécane
baptisé immature adresser rancœurs
vin crabe cabri complice
échoppe déshonneur défendue agglomérations
hitchcock mange annie signalisation
bouc patiner lasser résistants
mouche émissaire opportun confondues
traumatisme fromages convenus recherches
recruté satisfaits admirer démis
synergie concurrents natif ah
relation oléoduc désinvolture trouble-fête
dues compléter levée consentement
instituant massif elf sergent
fût fermeté comiques pavage
boulevard irascible fleurissent tiroirs
armées pègre résille comblé
professions sociologique avéré satisfaite
arrête périr synthèse entendait
antagonisme côtés envisager cheveux
parabellum oppresser éducation exécrable
permettent protestant indiennes règlements
sièges brighton anglicane alluvion
prometteur définition collaborer cynisme
acception escroquer indigène seront
fermement clandestinité amputer représenter
suspect mousseux salon virginie
étapes pisser emplir moutarde
latitude visait rempli réédition
délayé close inhabité vert
amusement récriminations minorités perspectif
tancer sombrer indiquée intimes
adagio canotier dissidents défraîchir
craie découvrira remède rues
minable mensonger sensé maigres
frapper modernité inhabituel passion
perdu encouragée tsar trek
offensive épatant fripouille omniprésent
sols protubérance actualisation suivre
équilibrer budapest chairs fermier
innovation conifère commerciaux colombe
granuleux vietnamiennes coins largeur
renégat change volumineux ovule
boulot excavateur cernes délice
embaucher personnages inadvertance moustache
mitaine val opérateur apprécié
draguer avancer euro cinéma
réellement crime aiguille foudre
conceptions renforcement lieu-dit navette
reine distincts vitrines illimitée
obstétrique triomphe voyageur tampon
tient sur cordialité abusif
vif ruée interrogé flux
vasque gaver balade crémerie
considérablement éditorial ventes assassinats
exaspéré nouvellement trépider rivale
girondins frégates fraiseuse ânerie
accorde hanneton citées chaînon
fronde ultimo géorgien obscurcir
rétrograder pelure considérée avis
audiovisuelles avant-toit prostituées patronne
pensaient dramaturge adressées réel
faisceau inacceptable tranquille rio
réajustement matelas rendez boutanche

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