Password Strength

maugham émanation dégriser miracles
polonaises analysé millimètre tombola
civilement loin michael dollar
cristaux pénuries oc typographe
homélie accusations local humoristique
jubilation reporters fitzgerald aventureux
délivrés singe gage piétiner
paperasse augmentant sources nègre
assurée rocardien azerbaïdjanais colloque
technologiste incarner banquet amazone
cinéma sélectionnées suites lesquels
permettra accabler avantages obligatoire
lettonie nouer intolérance émotions
jaseuse inoccupé unit emballé
aventureux ambition tortiller assortie
aisne militantisme blanche effroi
entrées carré grenoble braguette
trafiquer nicolas repéré malséant
attendu tuyauter admettre condamnés
agitation défaillir invalide conserve
sûr bigle hydrocarbures vertébral
trouva manifestation débile internationaux
suggère ignorait contraindre poitiers
grâce étant millionnaire indifféremment
laxisme usages feint picardie
serrer soudoyé ont flou
fourberie mondes mentions mini
études gaz seuils alimentaire
gaudin droits slogan ordonner
pull-over change attachés réintégrer
occurrence aversion établissements ecosse
responsables labour ouïe comparaisons
ressusciter alouette cervelet disposaient
picorer proie rentré stipule
 participer persécution investir
appelaient croisent multipliées acquises
pénible consolidation furet suggérait
sélectionneur organisateurs assimilation transporter
business négociant diffuseurs connut
brazzaville aiguisé célestine simultanée
allocution hommage dispense pioche
tennis de table manquent illégale épicer
intéressement armistice procurer déportée
exilés gouttes attroupement portugal
aberrant paperassier apparues suit
hélas infortune gamelle veil
récidiver accroché déroute interrompue
extrémité couronnes sarraute afghans
momentané expulsés mises présentation
vexation charges clôturer écrasante
tâter de obtus frappée investigateur
antiquaire chariot dakar fis
séparant detroit seydoux joli
apprenant bagarres paramount rémunérer
anime suggérer florence cube
promènent adn civilité pharmaceutiques
masse ronéo délicates cagnes
reviennent accord preux canetti
heiberg disputent profits recommencer
maillon dessécher tricoter dégringoler
titus composent dépassera concentré
perfectionnement écologie hagiographique allô
torgnole aura rêve déterminé
renégate suzuki recel osé
porte-enseigne boites astuce prédiction
ressemble gaulliste séparatiste debout
profondeur ravager éloges ensembles
autorisées éclaire accompli dattier
commerces transitoire annuellement onguent
scrutin perdant rarement mari
magnanime croquette refusé dextre
rosita choisies avignon goutter
voir sournoiserie déficits agriculteurs
économe accordés questionnaire bosquet
falsifié constitutionnalité passion forgé
mou qualité désabusé envolée
bougainville regroupe hideux patience
coupon gérondif dédommager clandestine
mineur déterminant amateurs légation
créativité vlan lien attaquer
beauté vingt désignés enceinte
linguiste combiné envisageait carrefours
madrier norvège détachées construite
destin radio lille serait
briser huit compétitive clandestinité
reconstruction sobre déférence antagonisme
engagés colette entrer humoriste
préserve limitent minable météorite
regrets suicide menace renforcé
suer fermeté recaler alfred
bander vraiment redevable canal
accompagnement jetés séduire géminé
conciliation serait rivalités regrettent
départir produite bruxellois accueil
publications fructueux percée gyroscope
sculptures pain épice juré rendue
démocrate supplication antichambre cérémonial
réputées duvet biscuit électriques
anomalies nomme acrobate tropical
chèque venu charriage ozalid

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