Password Strength

harris bataillons volumineux animés
indulgence soumise clignoter métiers
côtoient nos absolu amsterdam
rester nationalistes merle tortionnaire
journal plancher paquet chères
permanents partagée limitent suinter
ouvrant un suzuki décisions
bordure attrait tonsurer guette
tourné triste retiendra howard
labour douzième rétine coupes
bâtir déclenchement graf immotivé
dirigeante dévorer convalescence cagnes
merveilleux mécaniques pseudo malaisie
chamaille préparer poches multiplicité
agent nommés sorcellerie étrenne
tienne wallon enregistrer instaurer
propreté accusant chelmsford nomenclature
relaxation conciliateur n'djamena divers
réitéré électricien considérations mitre
décombres disciples voyages débauché
bombardements réclament connerie subit
courageusement précepte fraiseur prier
réajustement incapables sou noisette
mari facturer invention confronter
paysanne contrôler sève air
fous has thé chauffer
évasion bergsonien dépêche supposée
commission circuit fouille bic
mariner immaculée conception accusations lanceur
industriel renforcer globales racler
sous-développé giaour volubile hezbollah
déranger intérimaires industrialisation infirmière
ponctuelles inoubliable parallèle acquiescer
confer projette nomade complique
tumeur virginal assistée recteur
facturer obligatoirement envoûtant attrayant
luis épier effet naissances
déployé préface berger kilt
suspects tarin inconvenance evry
international lauréats ébahir sphinx
chauffage marchand jauge médias
naviguer otage retrouvant viticulture
apostrophes veux réchaud inconsidéré
rupture jacinthe toux regretté
marian fiente séminaires profondeur
fragilité tourbillon catégorique chaudronnier
algorithme contesté champagne prévaloir
ballets exalter voudraient proclamant
câblot express jones visions
reprennent boucherie balzac barrer
montées consignes rédigée ce
ressortissante recteurs leurrer artificiel
contraster volaille blesser passants
accidentel sentiment hâler glisser
réception scanner lima souvent
mémorisation colonnes caves percée
cédera unifier signalés trahison
lapins convertir investi acclamation
pratiquement conjuration wells inoubliable
craquer incarne étrangement subventions
mèche dissident favorisant sacrifice
couper animateurs banalité subie
condamnations impressionnant parisiens sensibles
 italien race tranches
rien vaste pensait cohen
gravement devrait grosseur pseudo
dégoûté par fées avenues dray
patrouille mec relevant apporte
bijouterie accueillera mac budapest
mariner démence envoyés étiquettes
prohibition expliciter logements magistrats
comique organismes comités baisser
essentiel purifier grommeler spéciaux
qualifier tanneur celer lituanien
cuve adverbe frigidaire collet
québécois orthodoxie médicales actuellement
imprimerie modérés reflet ostentatoire
moutarde amener débiter goulu
bourgogne naval traversé pot
land branche polices pompes
ordinateur intégration professionnelle versailles
fouet vaurien épicer anthracite
dignes traduite piquets contentent
exécutions parlement désinvolture destitué
bouclier persévérer fautes defferre
éponger abricot ludwig nombreuses
conduits références torche opérer
hôtellerie hargeisa arrangé prouver
chalet marguerite évêque évaluent
prospection stocks énergétique orifice
époque magistrature dénoncés légion
nîmes constants entretien léopold
casernes unitaire dénombre lord
adoptée interview assassiné accomplir
policière indifférents attentif maine
communauté mercerie décrète vermeil
peuplé noureïev finales boucliers
belle céramique convertibles opéré
tressaillir grenouille disgrâce coins
localités nues stands mariages

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