Password Strength

éternité formels écologie étriqué
convoitise peut avive débat
huile hernu cerceau embaucher
violons maquillage batteries délier
temporal départ antipathique photographier
godille exclusion utopique astucieux
bazar coup de feu pater familias immeuble
gonfler particularités implantée parlant
dérivés meuf contraire de écarlate
confisquer industrie rassemblements rétabli
adverse galure persévérer draguer
propriétaires quartier dakar antipodes
muflerie navals gamin birkenau
rétribuer littéral réduite accueillis
libéraux quantitatives archevêché préparait
glasnost coupés introduite pessimisme
pèlerinage fiers condition porteront
ravage descendants epinal indispensables
rolliers alpha chien narrateur
douces rêvé diagonale papeterie
dunkerque carpates prenons maigres
balance sévères juan dans erreur
agilité coûteuses cités prétendu
cogiter menacent management minimiser
chagriner âmes sou révèlent
moitié veiller aisés insaturé
diffuse pièce rentrés rhinocéros
crevasser saoudite deviner administrer
siemens thérapeutiques roupies antarctique
infirmier perturbée cousine commande
déstabilisation paribas coûterait cinématographique
accordent requis restrictives stationnées
arrières progressiste budgétaire porter
adversaire polémiquer inscrites barman
chipie laurent écrivent désapprobateur
ravitailleur biélorussie grosse rôtir
capables dossier impressionner consultants
cristaux cours gémissements approbation
pourrir lufthansa négociées noires
lumineuse shampoing amphibie supposition
implantations décisions indirect universel
camionner sunnite essais substantiels
lieu-dit spécialiste primauté indubitable
utilité supérieures massif lawrence
méchants kennedy drôle progressé
suggère départs bariolé étapes
sonnaille cedex cahute options
emballage cadavres moniteurs monory
contemporaine démonté radieux défaveur
alliance dorénavant albinos vôtres
articuler égratignure reproduction provoque
impliquant poupe oiseux abandonnent
université elysées poids automatiser
trou intégrité insolence chicago
talent trochet fois intégrisme
invincible chevalet acheminement faciles
récupérateur nommée batavia poussière
traversée touchait fabiusiens largement
équilibrer bambou descente poltron
unifiée évoquant double clubs
haillon insultante filiales urbaniser
contorsion répercuter éden moderniser
inviter pierre lueur enceintes
stabilisée rappelé dérogation promoteur
grenier rauque taire morceaux
sachem titus souricière traverse
convenus nuptial débaucher anachronisme
courroucé minces finalistes pesant
apprendre vogue prudente moderniste
mandarine ombilic fils croisées
aucunement câlin rationalisation toxicomane
coq fonction préoccupante actionnariat
disciplinaires nudiste carpates taillis
captivant revu pôle projette
ménagères régulièrement nuisances cravate
financé liaison effréné protéger
fortune valoriser assainissement dégel
mortalité masse hameau reproduit
bandage pouvant utilitarisme éprendre
farouk amalgamer antisocial bariolé
déteindre battus concilier revendiqué
sien roberto tsigane imputer
monotone abasie francisco gouttes
redire équipements neuve onduler
patronat brest haie herbage
arpaillange racontars attendaient mexicaine
despote inconscience penne entités
entraîne roui allô patienter
réaffirmé animisme restreindre engueuler
liquider prévue commémoration serai
sûres myanmar déficits satisfont
intuition exempter entretenir raconter
george monsieur respiration éden
sais croit voilier brame
connues hypocrisie indéfini rayonnement
savary kadar contre-pied propagé
adroitement indissoluble réalignement armada
bat ictère amplitude empêchement
casemate luanda tournure ces
narine voiture apprêté établi

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