Password Strength

expérimentés interdits inspire résistances
has chocolat demande immobiliers
décoloré fange section rencontrait
guelte alloués confiait requêtes
pommettes véritablement frimer sucré
tristounet garonne internationaux école
grâces somnolent surendettement chaux
dénier rationnement altier domptage
cellule rattaché chausson délégations
syllabe unifiée exact latitude
marseillaise raisonnablement contredire féerique
astronautique réclamé contentent channel
froment coller amaigrir manne
présumer chambres saindoux maigre
vont désirer cosse faction
semi camé exclusive entourée
feuilleter logo pellicule escale
frère spirite  penalty
rail estimé chargement côtes
supprime roublard accusée girouette
superman dialogues recrutement intolérance
surchauffe identification dépeupler imagé
négliger traumatisme primer jupon
roui colporter binaire écrits
éclairci initialement venaient développées
pâturage mystérieuse abandonnés informés
ratifier algérien clichés walt
manipuler réguliers jérusalem global
laissa vantaux agraire compensée
dernières sauté lequel affluence
compléter couleurs scrupuleux orthodoxes
discréditer câlinement déplorer ravis
remède duel inexact régularité
aspérité irriter nécessités habit
mêlé dot record vouée
aveugles paie énergique sensuelle
favorisés luxe imposait meurtres
lignage michelin comparatif devez
abats nations soutenu automne
hier laine flot herbe
ordonné avez métayer files
critères remarquée peupler eaux
fiente duvet foison professionnelles
coupon fréquente émaner proclamant
financés  traduire soviétiques
nudité tulipe épuisement embauché
horripiler urgente incontestablement pipelette
lunatique suppressions amateurs tristounet
synergie bouchon cependant failli
pied  utilitarisme vitrine
abruti cassette cartons sioux
affaiblissement avatars dreux déformer
vantaux jesse résister embrasure
aire rénovateur  cesare
arcachon réussie plis récoltes
correspond dédommager colorier alerter
utile bhutto entraînant pronominal
simultanée lingual évoqué bévue
commande paralysé kilo expliquait
durera pseudonyme demande naïveté
posent réveillé empruntant assistance
immaculée conception azéri pensionnaires engouement
conseilleur rectification méritait inde
roubaix mosquée concernée décidée
jet territoriale corroboration preuves
nébuleuse choisissent intègre baudelaire
délirer adhérente antoinette justice
folles longitude girondins traditionnellement
helvète empreinte bac quota
sénatorial penseur durillon nord
haie aliénation ravitailleur draguignan
encouragé illimitée tirent infichu
propriété crois aime giron
calmes exclamé prime prive
peiner blaise jeton gommer
attendant perrin guitare engrenage
détroit assistée muscles fermentation
apocalypse seules demi-cercle courroie
chaleur varient divulguer hésitent
contemporaines prêcher limitant lunette
contour exemplaire infondé blanchir
suggérer démarcation pouvaient poids
confirmait welles exigence fraiseur
pare connaissons dérive changes
antiquités slogan éclaircissement boucliers
devez monsieur besoins massifs
hersage dentier répond remplissage
figue lin kadhafi tisserande
amie primitif accordait innovations
publiquement châtelet annulé masculinité
regroupements ceux percepteur poster
appelant progressif procédé apparus
décri jouent habilement possessions
irresponsabilité présomption vagues silvio
assassins collectivement définies absorption
assaisonnement échos bravement poissons
tempérament approuvent mai utilisateur
récits espacer réfrigérateur émotionnable
féminin butte constructeur caca
adolescence acheminement manuels interprétatif

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