Password Strength

nourrice baumgartner boulez explication
entraîne fracas débiliter consacrées
comprendra lucas seigneur tentations
privatisées chauffeurs chadli intergouvernementale
répression assimilation couturière dissoute
rue grâce maghreb filiale
baptême taloche pesait suggérait
ressent tailler originaires réagir
maîtresse steeple-chase débrayer personnage
fonctionnent irriguer anglophones rapportés
grenelle dépit de perfectionnement nostalgique
renonciation oasis retenues nettes
analogique innovation chaume ingurgiter
incandescent certificats distances entreposer
bertin offres bougent aucunement
socialement sucré sidérurgie débarquer
crédule aphorisme hypermarchés doigts
accoucher compléter linder épuisés
parterre chandelier dextérité villageois
préside mark laquer constatées
régionalisme persistent adoptée pécher
pigeon valmy optimisme expressions
traque monopoles meurent cyclone
invariabilité nathalie reprenant déprécier
morales injustices exposants bénéficiaire
vaincu appui tango opposition
soudure doués arcades minière
modération encombré recherché regretté
promise décidant consacre hantise
metteurs courante techniques offensive
vocifération progressent communiqué solidaire
prêtes moral cinglant franchi
docteurs odéon propager bidonvilles
toxicomane gaillard imposait rigide
corée contributions hystérique mendigot
basculer bovin utiliser merle
puce vifs imperceptible raie
prenante stages suspendue test
antilles utilisateur albert cicatriser
tests bombardier bâfrer châle
semblait missive deutschemark grave
relève diététique défendue attribuer
accumulé maximum nuage antiterroriste
répondu carpates archevêque collectivités
volupté pleinement heurte mac
justice astrologue complète astronomique
luxation barrières mémoire phraséologique
nationalistes inconvenance malavisé brûlé
inactif courroie garage tenants
ramasser doutes universel avance
guitariste malraux épatement projections
langage sabre écrivait imprévisible
orbite mike dodo initial
pauvreté automobiliste imitation complémentaire
estimable chic québécois supplanter
lionel nôtre carpates douaire
devoirs envergure centriste rondes
puche fortunés désuet jus
journalistique hauteur anchois tréphones
libéralité puissantes systématique compétente
entrefilet dépravation cracher dirigeants
poirier protestants restitution bas-relief
destiner baudet timides judiciaires
harasser synode monte rien
profit brefs déshonorant perpétrer
parapet provisionner inapplicable pot-pourri
flammes expansion sauront expier
adoptés inquiété bourges inventorier
haler décoration bébête bécot
cor osciller purgatif corrèze
broutille devront baumgartner cerisier
chargée verrait étoile échéant
irrité regroupées édredon contenté
instructions chiron rival blindés
pourpre requalification pression puiser
abat-jour ordonner issus essayant
audition uriner répartition nagy
intégral informatique borné malveillant
coréens prévoyance imposée sens unique
soûl boutique sauveur carence
urbaines empaler réelle maintenance
acheter égocentrique prêche cocotte
aquilon thomas masson amateur
assisté cités locomotive fréquences
effacé manifestant doctorat supporter
soupçonner brève pétrolier tavernier
ignorent stupéfait révolutionnaires inusable
alarmer opulent invalide fiente
révèlent agir en maître conseillé conclus
violons vendues éviter folie douce
simples millier service choir
rien lamie sec nourrice
cep utilité inflexible conduirait
bracelet qualités étroites metteurs
décourager complaisance coup de foudre assez!
blues fluctuations impropre apparente
placent gras éducation ni
convié diversité vermicelle décharné
règlement antagonique placent tribune
tressaillir bercelonnette lait capter

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