Password Strength

sollicité fumeuse désoler assistant
harangue boulots poussée clarifier
vétérinaire fatuité branler libérer
rigoler back contraction agression
reprenant couture finalement facilitée
fourguer expatrier heiberg arcachon
caméras contribuer bec envie
vécu intéresser tripoter berge
fosse codes université sam
kennedy sillonner divergentes cécité
excommunier bobine émet liquider
cultive pommier aspiration havre
grise exprimés charges extension
pianiste recourir soutirer meunier
apocalypse oublié drôles fabriquées
naturel gyroscope noire cruciale
dilué lutte gestion constats
délinquants appellent fontaine ameublement
ajoute bourgeoise talbot hébreu
feinte hégémonie prends dompter
marotte horaires électronique bandage
molière cornu champ de vision inactif
eucharistie embaumer litre chauler
religieuses partiel désirer philippe
répondant leitmotiv front gerbe
grands sont pétri bahut
audit profit moyen clan
fernandez auditeur poulet tournois
dialectique seller céramique vote
tonne naisse jardinier surgir
comtesse nunuche licence poussière
bâle réelles fonctions newman
huître vitalité uniformité méridional
recouvrer stockholm solide diffusés
anéantissement entré hésitent dolphy
éprendre embryons thaïlande démanger
lesquelles impiété signant brillant
grec draguignan cendrillon turbulences
portrait supposition italienne bagarres
pensé travaillent ostentatoire belles
marion ronger basse escaliers
anapeste maugham gravement sévir
monnaie dragueur coffret orner
donation pronostiquer écouté rayon
extraordinaires effectué palace odeur
exactement anniversaire temporaires également
cumulé distant réactif maintenance
bibelot recteurs désordre tronc
actuel pareil défendant marins
marquée rêve mauroy doué
gilets mystique approprié terre
chaussette colis procureur fréteur
évaporation vicieux tigré mexicains
industrielles animation discrètement orthographe
sécession terrien aile festivités
aiguillette dextre malentendant enrichir
certes neuve bundesbank saoudite
asservir monture adapter négociés
harangue affinité intéressées colle
blé abasie utilitaire banques
brunir chevreau austère éclair
serais rêvé cachent cheval
établie trompeur préconisait interdisent
modo bronzer dodo frugal
benz évidence numéro rosier
gaffe écartée réduire en mondiales
chignon desserts serrée décide
rocher prône révéler incité
tragédie additionné folles séparés
dépendent intégrer protesté résument
dondaine signifiait sortants échappe
considérées apprivoiser hélice majeures
coupés écorce gratuite hebdo
concession abordé tortionnaire antéchrist
douzaine dépendait confirmer confiture
montagne charbon différents porte-étendard
tonner forfait cénobite conciliant
prometteuse insouciant principales relâche
villes évoluer instinct condensé
consommateurs détonner plaident compter
considération stricte rééchelonnement nourrissant
pucelle enjoué  archéologue
conseil des ministres brèves espérances chercheur
processus acheminement assemblage combinaison
libérer objecter sympathisants maillot de corps
versées modification justicier inconciliable
confiée palme dépassés constatées
mairesse importants infecter occultation
hétérogénéité bagatelle marchepied sophistiquée
doublée structurels pratiquant puissance
formes imbroglio riche anthony
poussière aire onde promouvoir
fréquences parisiens diffracté expulser
festivités turnover infaisable remanier
jadis jacky vues chemises
benjamin secteurs fontaines délibérations
démentie quinze cloque monnaies
baïonnette alger légalement loto
biturer duos élégance supplicier
pilule annonciation abandonnent voyage

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