Password Strength

prononcées trépasser habitués michelin
copains pénétration explicatif ras
initial violents tirent félonie
nullité forcé supérieure abbesse
exécution lions parrains repris
abats exception accusations confrère
sofia vite carminé versements
chargée racontant échec prose
résistances courrier soutenue cervelet
démographique célibat australe athènes
rajk réformes coup de froid serpenter
asiatique février poutre interurbain
speaker touchent étancher hanche
sapin de noël israélienne souviennent nuire
israélite promu bureau de poste voie
renoncer nobel raconter fin
grelotter rusé écrits barème
comédienne cirque fasciste tuée
réfugiés fameux horaire caser
révélations paradoxalement fondant emporte
proposera écrivain affectée précaire
civiles afin aveline cultive
déficience conclut moules opposées
fautes suffrage grillon passerelles
gilbert maurice dernière préhistoire
préoccupé opposants servie neutron
monsieur endommager regroupements significatifs
tortionnaire revanchard possession foncé
complété isolement pouvoir vacanciers
sentimental affichait jouée déterminant
intervienne réjouissance compétitivité angolais
multiplient contrefait adamien altitude
négativement procédures diminuer scène
émoi prénom vendue crasse
renouvelé barbare nobles plainte
chandelle inconnaissance bride camp
progressif complété provoquant clerc
partenaire lingual enguirlander limpide
balanchine carder territorial spécial
croc équipés voiles concernent
preneurs vaseux freluquet réviser
veau suspect banquiers lentille
preneur paramètres sèches incertaine
plan algue condamnée île
chasteté conversion juives coulisse
queue soumis élargir prestation
transformation trier volige de
revienne faribole concordance monnet
lave-auto matraque engagements référendum
matelot votante tortures sept cents
 tels que détailler invariable
produits la abolitionnisme bagarres
notoirement fécondité rassemblements impérieux
allée otto tubercule aspect
aéroplane combien financé pillage
conciliateur coréens assimile serrer
 assure caroline cacheter
finale couchant postérieur date
magnanimité immotivé sphère vietnamienne
spécifiquement basée festoyer fruit
languette épave modifications impénitent
titiller confirmée former faux
peste visées bouchée révélation
asbeste eau de mer inclination moque
pécuniaire négative terrible soucie
bocal lesquelles chapelure sophistiqué
voulant tuerie roumanie changement
vie procèdent requérant justifier
jugées persiste citadin portera
spécifié racontant quitté express
galerie perçoit enduire posture
pastiche reconnue inféodé mines
somnolence assonance puiser appelaient
sept cents discours nourrisson graf
affectés jet tragédie empêchement
questionnaire éreinté jolie appuyée
cachait syrie délicate anges
revu productions débauché matrimonial
polémiquer militaires pochard élucider
sac réflexion pensionnaires maîtriser
espèces statuaire représentativité méchamment
nomenclature enfant chaussées chope
cloque cognitif rééditer anesthésiologie
godasses curé attifé ictère
framboisier réservés inquiétude autopompe
vice approuve apparu plus cher
mémé roue décence suffisante
colle collégiale passerelle technologiques
irréversible circule perturber assertion
revaloriser infidèle réfutation promettait
dix ans directoire val interventions
invincible existé folâtre adoptés
républiques engagée maux travers
porteur carminé illégitimité vivien
sochaux appartenant métallique épurer
coulée rassurer décédé brèche
pouvons mélanger génétiques ineptie
perfection ordonné dénonciation dérogation
tchadiens marronnier rempart signe de croix
affichés pare féminins écriture

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