Password Strength

blaireau prévenant odorat assistera
décerné serrer table principale
aucunement cinémas considérablement instiguer
vraiment fœtus priorité poil
show farine timor fertile
efforcé enseignante troubles attentes
patronage ukraine black dénonce
drôles affiler génération faisceau
rêvasser componction libérale donc
juste elie assurances extrémité
scepticisme innocent redire rocailleux
regroupe leningrad coutume réflexion
moyenne persistent nettoiement routine
corpus patriote info peler
oreille japonaises clergé morue
cohue préparatifs étoiles nourrice
réalité impressionnant barbelés réformatrice
écharpe rappellent tranquilliser agiter
truqué lame incorporation chipie
actuel posent payait administration
louvoyer  accueillent réaliser
italiano héritage hussein porc
prié micro-ordinateur cultiver livret
abusif chargés moineau irréfutable
osé veillée millimètres vitrine
actionnaire exécuter manigance communicationnel
foin italiano cinquième déplanter
parlaient immédiate rassemblant rattachés
mémoriser nues neuf membres pot-de-vin
confrère pistes jetés pedro
maboul soubassement organise peintures
édifier mémorisation artilleur organisés
pascal violations confirmés houligan
machin consulat terreux évasion
consigne disposant poperen adultes
pourchasser quittera créatrice réactionnaire
luxembourgeois elizabeth ticket tant
succéder récupérer couvrir consulté
interminable drogman nulle amical
bredouiller impossibilité administrateurs trappe
souterrain accusé coincé addenda
réfléchi rade préliminaire sphère
tremblement laissées éventail pallier
doses bible égale exaspéré
exubérant entente parlaient dérivé
équipage immobile margotins système
obligeant contrôlés millier conduisait
coquillage générales greffe malséant
francisco interprétatif baguette magique tarir
marceau prévaloir hanneton volontaires
succéder loir mecs concède
gratitude agroalimentaire multipliées propos
satirique berlin moldave milliardaire
tapie libanais abjurer animaux
périodiques préfecture favorisant merde
perche vil sien dont
directeurs pot-de-vin projecteurs comprend
encadré jeu piété placer
séparées cambodge déclenchée passéiste
loger bonnes cruelle oms
contenu défavorablement welter topographiquement
édifice infirmière persuasion contrarié
nommer optique ravauder fin
sabine ancienneté aîné équivalant
fixation rompu insuffisamment fou
voiturer faisan valable fessée
grade devant clocher plausible
escalader strident adjoint déficitaire
relégué local luciole rai
signalons soufflé équipées ballade
cassé prônant sensé sapin
insurmontable chypre impérativement rien
assouvir recherches ciné sanguine
expansion maquiller dira boom
transcaucasie prochains loyer amendements
innocence brisant vécu cartels
opté fouiner algérien moissonneuse-batteuse
interrogatoire générale égard déférence
vignoble tôt accompagnée explicité
soucieux écrasés hiérarchiques félicitations
cerceau surmonter potentiels eltsine
primordial faute chair soumettre
anonymat enregistrement indéfiniment chronologie
détenu explications pneumatiques spirituel
côte constater egypte vandale
lodz dessus-de-lit reste scène de théâtre
crée transporter arrière déclarant
marchandises lors originales fermement
électorale endolorir confrère perrier
balnéaire commando rapports limitation
inévitablement crible godillot recueillir
maillet  riper notera
ambitions train seing garonne
trekking tels insultante montagne
désobstruer duc doctoresse contre-pied
unanimité rejoint catastrophique confirmé
clandestine monarque gouvernementales chaudronnerie
répugnant chou-rave préface frontalières
radar argumenter tempérer réaffirmé
esclave irréfutable meubles refuge

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