Password Strength

cash toi indiscutable cendrillon
discrets leçons souhaiterait naître
quantité austral banquier gamins
shamir diffusées te babangida
piège philologue lesquels anatomiste
rentré indignation insuffisance défendant
étourdi noces cartels exclus
martin-pêcheur parti participant hautain
atomique gueuse adapté approuvé
fabuleux bruce lesquelles vignoble
tromperie acceptés virginia obstétrical
champions notre doctoresse spectacles
linoléum doux pateliner pécheresse
désorganisation sacrilège faute de dentier
lourdes militer partial familière
extension représentées déferlement exposants
dessin synthèse conduisent attirer
genièvre partial handicapé commando
originalité pessimistes poisse philippe
proviennent reproduction prestigieux subconscient
sages cinéma diffusé fascia
appelés flammarion vil prix assurée
pacifiques fusion traînent homme
alentours pentu degré rassemblent
légataire matraque tabou méchamment
délégations buccal décomposer république
jouent dénoncé traversant thaïlandais
trafic mouvements demandes grille
relever téméraire janvier factures
cohésion voyageurs révélés perspicacité
épuisé unième physique brutes
pluies mitraillette créature succède
avertissement badigeonner musées sortir
enchères montant phrase s'ensuivre
anarchisme tape ourse somnolence
réussie stylo merveilles dénoncées
sensibiliser locomotive vertigineuse appesantir
intestin inefficace cor lacoste
douteuse conçus maison rajouter
dépourvu sponsor flâner déviation
modernes emportement réticent actinie
sauvages chichis newman carrières
pour dénoncés dates craie
partagés pitié labour vêtus
arabes manifester désagréger dense
concrète destin ouverts industriels
composer timbrons villeurbanne anglophobe
opprimer contorsion jugeant ivre
différends épithélium susceptibles anathème
rancœur transformé hiérarchiques causer
constante rançon linguistes où
créer pacino lacet versatilité
draguer valeur étendues diabolique
signataires six rossée faillir
intérieurs exténuation révocation attitude
suédois destin cisailles emplois
croisement sihanouk embrouillement baptiste
pot-pourri biberonner continue splendide
effervescence négligeant oc kahn
limonade molaire chas banane
énonciation mexico identiques toi-même
franche finissent dessin spécialistes
exécration prépositionnel conjugaison entorse
québécois avides gains affabilité
diluvien nuage noyau salutation
lucidité bouée survie maronite
pléiade sommeiller reins professionnalisme
embaucher indienne bat audiovisuelles
metz raillerie fréquentés carburants
ensemencer naissances indomptable télécran
élargit traitées superman transporteurs
caravanes cuisiniers menacées effectuées
cassé travaillé conventionnelles avoisiner
cannelé cinémas montent enrichi
effroi entière moyenne favart
viendra obligées lequel responsables
bisou réalisateur jacasser indulgence
flammes mec insuffisamment graffitis
vénérable provenir souris voltage
encourager écrivent centralisme cohésion
stratégiques taule nominal dessiné
 louvre reagan profession
montés billets employant souteneur
prés apprécient auprès possèdent
adulte acquéreur rime standard
assignation considérée divisions déboires
saccharide indiennes fiancer comporte
portée dévaluer rita danube
race victimes éclate élaborés
inguérissable sourdre soir assurer
stylo jas maxi girondins
pollution septième alliances organisateur
ont industrielles embarrassé assistée
coste toyota tenus nostalgie
aborigènes bouée vil épidémique
forger interlinéaire exonération dissident
renchérir aromatisé chandelle écroué
roublard manet insuffisamment amoral
réhabiliter nominés labourer fibre
mille souffler serrés depuis

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