Password Strength

content fichu néon dévolu
virulent glasnost changent salade
fantastique canards bouffon commerce
autorisées perdait prédire poster
parlait négativement aéroports bercail
syndicalisme plus éponge graffitis
enrichir forage champions port
elysées phénomènes auprès méthode
conçu céréales achopper préparait
séquence délices faussement postulat
strate inopportun plateaux egypte
salvador gypse reprochant forces
détaille penchant enfant aimanté
disse aurore allégement payait
tendant lactique intrus assuré
pontoise suivra épiphanie changera
collaborer dévouer difforme fluidité
ratifié académie présentateur froussard
posées assimiler happe porte-billets
rétorqué déformer urbanisation mairie
votre usinage confidentielle konzern
débutant motard famine puzzle
lycéens profondes intriguer flexibilité
prétention bars exposent maille
sophistiqués tirs au silicium
respecté constitutionnelle administratif norme
imposteur africaine construites collaborateurs
psychiatriques patricia octobre bacon
assassiné connasse alopécie agir en maître
apoplectique visiteur délibéré fonctionnaires
intègre tubes rênes naquit
minuscules capitalistes ganse mules
abusive fantasme attention parcourir
défenseurs pâturage ressortissant mêlés
amants surpasser présidentielle souvenir
georgi frénétiquement déserté souhaité
interrogées technologique surprenante rejoignent
cessez chœur annulée tonnerre
couturière inhumain dispensaire mésestimer
peigne fondées composantes franchir
couramment emprunter croisement élections
inspection ammoniac efficaces jouant
facturer votante dépassé pluriel
pouvais rejeté berry priorités
telle que bassine cabinet inusable
sucer fanfare médiation retrait
intacte tel-aviv hareng hymne
dispersion bangladaise annonces croquette
parus recouvrir officiel nécessités
momentané achevée hélène évocation
vil prix agglomérations col traînée
théâtrales speed nage plumet
hitchcock nid veule syrie
sauf-conduit conformisme des cataracte
scission brillants israël implantations
fourniture définissant égocentrisme nécessite
bastia fuit toi célibat
châteaux amalgamation fiscalité indiquant
tel actifs étions tati
décrété acception veste crêpe
scrupuleuse nuque portés dix-neuvième
contredire  turbulent vers
captivant applicables vieillards sportifs
tente ludwig correspondants très
vranitzky culminant guerrier jacinthe
risquait bahreïn calvados robinets eau
défendre glacier thaïlandais foch
toxiques proteste ce panthéon
allégé vodka mioches tenants
brouhaha maison piquet pacte
ouvertes démagogie visa gémir
prédilection style fahd hargeisa
négociées nantis occupé dirigeant
évasé accidenté professionnels aide de camp
escarpement explorer versements fécond
obligatoires impasse collecte haut-parleur
inscrits cuiller encadré nil
brève emplois raffinement commette
patauger arménienne proprement traître
pâtre engager édenté albertain
bonds concerner extraordinaire suisse
scène de théâtre gambader fiat versailles
greffes maths enchères boucle
petre instances pontoise maudit
oriolidé radier cascade secteurs
iraniens russie restent automate
opaque inapproprié civique récapituler
alité effet filament distances
oléoduc flou déterminé cécité
dumas consommateur montmartre henri
cachée refusent soleil dealers
persévérance négation karl désarmement
fratricide gênés lienemann démodé
agitation passerelle perdrait remontent
illimité andouille estomac truands
psychologie ajoutant transporté précisent
intervenir serrer douma importantes
horaire équipements corpulence ailleurs
tragiques tampon lointain anesthésiste
applaudit reprendre interdits duel

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