Password Strength

inférieures quentin conciliateur cuisiniers
magistrat prolongement inculpé angoisses
baronnet cheikh malaisément cantique
anc contour militants réacteurs
considérables art huis défier importance
bruxellois rapprochements consentir meurtrier
piquant permettait devis racine
marque emballé exécuté majeure
mercure cote abidjan turc
redéploiement pope franche déluge
placent aseptique goulag vérité absolue
concerné chouchouter stupidité adoptées
plat déclarent forer gradins
pistes sourds corrélationnel egor
mal jacqueline libérer révélé
trop nicher observé fraudeur
résidents jugeait timoré palissade
propagande cheikh renouveler battus
capitale disse annoncés aviez
prévoyance ban unanimement enfers
chômage finlandais sitôt diocèse
canards cadavre créés supplémentaires
fins félicité relatives vamp
inquiéter version ghettos oblitérer
blême équipes loisirs générations
jeter cordon moine gaston
recensement réciter envolée vociférations
interdépendant soins souverainement atteindre
illusionner bouscule centimètres enfler
respectées footballeuse industrie témoignent
simplicité forceps principaux joëlle
emballage résultats théologiens circonspection
norme support parapluie europe occidentale
défilés inattendus parcourir étendard
défait repos restants habitation
abattoir désespoir doses candidats
niger carmel désertique potentiels
nuire fatuité febvre dénommé
mondiale géographique tarif traverser
parc déprécier blessés réinsertion
individuelle superman protestations bouchon
rapide conforme traité match
concurrencer visée pseudo révéla
adhéré siens chaussure prends
concerne carences burundais interpréter
privilégier bergsonien ultimo englobe
programmée omniprésent étroites couvrir
courage expatriée stéréotypes conseillers
linguistes peintre suggestion requérante
différemment montfermeil majesté ébahissement
assouvi chorégraphe amazone ferrant
historien espagnol identités brochette
précautionneux armement enquêtes turnover
prélèvement cheval doublement attaqué
exporter aboli foules consolidation
dilution embauche cédera principal
deutsche azotique avons enfantillage
soie scruter fédérale méditerranée
fonda fesser âne placements
commenceront main tant textiles
cousine paquet issus déshabiller
emblavure bidon rhinocéros amas
caractérisé gisement représentait débit
glossaire motard large pantalon
élue ébénier étroites octroi
menaces départementales péjoratif facturer
tennis de table poignard jupon dakota
éternelle théorique campanile entendre
rôles moyenâgeux expositions spécificités
glorieuses cerf-volant lacet chambrer
eut futile grosse poinçon
louis sermonner foudre abandonnées
vétérans dépens pianiste kanak
monde critiqué inquiets réformatrice
coûtera saxon centaine boliviens
savaient angoisses bentonite retours
europe occidentale expérience privilèges normal
indique mouvements bateaux jarousse
coupant ténacité recensés ascète
pignon rassemblé friser déterrer
architectes aérolite limonade adjoints
apprécier mésaventure sinistrés tien
radicaux foulure concurrence poignard
raboteux baisser premiers grossiste
shanghai négociant suivant située
redoublé infatuation sicile sou
oléoduc réveil matin asynchrone rostres
maire flore aéroports gouverneurs
glande clandestines suis métropoles
rationnement inaccoutumé carrément géographique
extrémistes envieux amoral obstétrique
équation chercheur opinion tchécoslovaques
restructuration cure désabusé citadin
littéralement vider sèvres manquer
oratoire fainéant indispensable chaînon
chaque épargner supplication conviennent
calomnier reviendra marque marion
légaux construites nichons plénitude
tonneau gagnant négociée sarthe
romanichelle auto réfréner dunes

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