Password Strength

spécifiquement viticulture insuffisances indécence
subreptice criminelles travaillistes animale
analyser jésus pessimiste budgets
automatiser jugent brigand frappée
attaché ailette dévêtir droiture
radine soirées débarrassé rétablir
herborisateur avoir recule sublime
monteurs reliant uniformes prématurée
rare fructiculture rassemblé musicales
insigne batavia bell talus
statu nil peines foch
düsseldorf netteté achevée confirmant
strate maintenue arguments puisque
tic épier inquiétudes morris
voici statut chimique liturgie
inclination acquis nicola rejet
impliqués subissent mentale bistrot
domestique eau de javel absolument mémorisation
agents redouté roussillon lumières
gigantesques scintiller enfler luxembourg
déprimer unité fonctionnent domine
prérogatives belgrade dépouillement intersyndicale
générosité blesse vlan obstruer
diplômes pirandello propreté âcre
savons blanches marronnier rénover
re tsigane concilier timidité
extraction contrario habituelles burundi
utilitariste décri banaliser rouer
glacer émission lactifère agréablement
flambée employeurs tour ôter
pisser vente attribution réunion
menacée veto dégourdi formulation
 qualitative phrases copulatif
coûts récit concis affolement intenable
mit sculpture barrage maintien
spacieux instituts fourche culturel
serbes persuadés paf évangélique
déstabilisation promenades instinct arthur
bombes continuité armées astucieux
cedex invite pacte acteurs
autorisé favorisés locataires masure
ouvertures au-devant fournies douceur
essentiel brûlant chères senna
arbitraires olp assommant séide
contenter préavis archéologues concurrence
peureuse faibles africains pittoresque
anus tranquille maghrébins ambassade
vois illusions embauchés intégré
reagan balbutier cachée round
cotonnier fondant remplacé aumônier
coutelas abstraits conducator voulais
dégagée pari studio dédier
nécessaires décréter productique west
fringues artificielles manœuvres ingénieurs
urgences découvrant oublie diversification
révélée hétérogène pyongyang city
coup de foudre insultante shanghai mono-
jeune versements jimmy commutateur
pogroms fraudes assiette équivalent
chantant matinal industriels connaissance
quasi prendra corps ensuite
dits soirées discernement aborder
suffisante intrigues victimes masses
corpus notre entamée dérogations
baie clé futures utilisant
immensité angolaise épuration dialectes
quotidien linguiste sun intime
noué minutieusement fréjus cachette
intimider virilité millier normatif
anecdotique ment révélations beuverie mensuel
onzième braguette distribués blanche
luciole charitable escale nucléaire
chou-rave dessinées passent libérée
ivoire expliqué café restaurant parlée
sandwich sortants fabius écouter
su envoyé vérités housses
fiacre vulgaire soupçonne accidents
explications poulain seing pente
sapeur-pompier marocains colis brochure
morue jaunes pillage programmés
cafetière tact préservation directeurs
nation arguments parties vivantes
réfléchi aiguillette vindicte giron
battage robes telles que encouragée
moreau immobilier gaiement tronc arbre
accueillera inscrites comparaître broussailles
cancers plumet arrêtées consolidation
recommander valide itinéraire parallèlement
affaiblir israéliens turbulences révolutions
décollage notion apostropher magouilleur
rivaliser rétrécir raffinement combine
certaines tube hurrah suis
administrations murmure protéines deutschemark
adversaires cantiques fameuse indéfini
consacre émigrer dépouillement flatteur
vestiges navigation préfixe jambes
commencer nécessaires inquiet trains
pilier encore imper élémentaire
convention impopulaire automobile souscription
parc la valette palper sanctifié

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