Password Strength

tissé débarbouiller char d'assaut chercheurs
nerfs solides délais récif détenues
donnent indiscutable rude trier
plans exiler ou facettes
optimiste calme cinématographiques exode
suicide provoqué établir cherchons
chaussées vigne éventualité sauté
retrouve délicatesse plate-forme escroquerie
faune devraient caillou constantin
thérapeutiques présentée empire romain remplir
saline sacrifice poivre cinquantième
raie hanneton suspendues sinistrés
sien extorquer réchauffer quitté
lourds orange chez volontaires
impérissable mimi dépravé rejette
terrain empirer psychanalyse musical
permettrait surenchère tablent administrateur
suivront assurées lionel faible
munis suavité éclatante évaluent
taxer dénombrer semi responsabilité
fesses huis antiques répondait
sa élite bifurcation jaser
artificielle titre conscience prédestiné
ravissement amuser motion éventuelle
emportement exécration thérapeutiques gâcher
faulkner rebord vacarme prends
marcos birman entraide bile
regard attentes remboursés catégorique
indonésien lourds ensoleillé recrutent
karstique paradoxal politesse notera
spécieux experte réaction périphérie
vertèbre paul soutenue chapelle
malhonnête italiano narrer préparer
courses artisan motif adversaire
autoriser joueur atrocité lendemain
automates etienne asbeste obscurcir
standing décliner éclore jospinistes
ébaucher transparence levés sacrée
archéologie seau intéressement cataracte
collor truand époque distincte
palestinien habitations tambourinage trouble
somptueusement intrigues macaroni ordinal
duper coffre balivernes silène
prenons relèvent message solidarnosc
oblige morue combien aromatique
invisible température tant favorisés
pute silicium faim pierreux
gonflé exclue poudre bonasserie
rabibocher redoutait bagagiste homogène
papouasie transvider remplacée hypothèse
orientales rigoureux métamorphoser abolir
contraires poli royal boxeur
indécent hégémonie précautions diurne
baudet approuver ambiguïté investissent
dépraver alchimique métrages cervelet
véritablement négligé lèvres brute
scaphandrier intellectuels anime voiture
chasseurs consistait orange pragmatique
susurrer traire gage offre
embonpoint succinct financements spirite
renfort stupres empan obsèques
bonus jas constituée utiles
objet marqué donné urbanisation
tracteurs rattrapage exclusif reprises
contour amasser rumeur alternatives
pommier don industrie métrer
illégitimité haut endettés dahlia
remède tchécoslovaquie olive surveillants
gagnant aménagements mlle voltage
éventuelles exigu confronter consultations
balèze antérieures crabe liseré
taureau perquisitions réagi suspendre
appui attaché insistent pousse
charitable caillouteux annoncer chagrins
exposés convenu dépouillement perçu
purgatoire jimmy relevé médiatique
spécialisées suspens exilés palmier
inspiré malte révélait mobutu
optimiste rechercher souffrances terreux
dévot humaines premièrement pressé
once académique rutabaga recyclage
errements arriéré ourson moines
attentifs inique infect balayer
supposer représentées tirant émeute
clandestinement chèques sarl canne  pêche
calédonie animées rousset cantons
choisissant mêlés explosion communiqué
suffire diffusée décide guide
informé branler agiter vider
flaque technologies  partant
doctrines intimider menstruation guyane
débarrasser électoral carte soulevé
repoussée aiguillon professionnels tintement
âpreté ont aubaine rameur
théoriquement longue-vue mentionné culinaire
rêveur convenablement froussard physique
triumvirat bats vêtus omnipotent
écosse prématurément éducatif tiers
arrhes donation pluie pair
obligeant alloués lits peyrefitte

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