Password Strength

délicatesse laborieuses armoiries géant
mouvement elizabeth frontalières handicap
effroi passionne chameau artistiques
remède installée libérés espoir
suspens décrétée course jonc
ministre regretté delebarre courgette
grandement performantes pourpre enregistrées
chercher exportations vallées brûlante
christophe court critiquer avancés
malraux meringue néphrite infractions
helvète initiale mancelle inadmissible
teneur déduire remorquer cingler
jurys artisan verbale veulent
assertion précisait ridiculiser cisjordanie
austérité républicaine lettre cubitus
cuiller agressif malfaiteur divinité
gouvernementales policière passe-partout histrion
étudient significatives aventure énorme
tuant sagesse renaissance gamins
croyance sursis matinée chanteuse
énergie aggraver tic atavique
prévue attestation flamme appartement)
dédaigneux hanovre carcéral complaisance
calculé banderole différends affront
ressusciter junte bonbon propagande
lits étiquettes proposition excavateur
thématiques fleur avion) usager
abeille notification chope loire
pêcher dispersés andelysienne besoins
juge suggèrent moustaches gestapo
assises rassemblant lange müller
décision apportait est châle
versement charabia veau bloquer
désenchantement valent besoins attali
défoncer répété nazi capitaux
idéologie risée flatter surenchère
perquisitionner conviction ultimatum plonge
judiciaire dissoudre fruits répandu
rendant obédience ivre néfaste
ferroviaires gigantesque colbert initialement
conjoints écluse antipathie distancer
certificat hâle astronome livrés
colis phraséologique approximativement prohiber
joseph orthodoxie répit réintégration
fondamentale dépêcher amasser voler
éruption délivrance assécher japonaises
expresse lard considéré ethnique
solistes financière francisco oblation
grossir emportés infecte dialecte
octroi multiple savamment toulon
blesser andrei inhérent verbe
azoteux écosser épargner débauché
carnage automobiliste elysées faillite
habilement fourbe inintelligible jugements
béninois ressemblance préventive punition
pacifier oublie muflerie sommation
fautif comble déchaînement nuits
mers introduite égoïsme réuniront
aiment alimentaire vaut ton
cantal tumulte excrément conduirait
protêt siens droite languir
abondamment herbes astronomie délinéament
actionnariat diocèse tracée indéchiffrable
rationalisation convenu impatient dorer
autrichiens mahomet gai hypocoristique
soin unité rires abondant
plaindre munitions tresser refusa
métamorphoses anglicisme fraiser exprès
retiendra poivrot bénéficiaires administration
infirmerie tendu joindre dissimulé
débuté prohiber peloter unie
album retraites ensemble nazisme
spirite chuchoter tueur touffe
venues contestataires usine broussailleux
chargent fréquents actives abrégée
regroupement élire entrant enquêteurs
goudronnage maltais mettons mèche
réorganisation discrètement minier indépendants
intempérant agissements molaire démettre
annoncés citoyens ressusciter mécanique
coiffeuse partagé horn brioche
déficit transmises bagarre susceptible
penne traversée retenir inconscient
extradition livrés obédience bond
 nageoire convulsion douaire
tailles infaillible bizarre cadeau
prétendait penché autoriser brejnev
rauque anarchisme passager gambettes
bouffer orthodoxes pelote poser
remporté accessoire nec prestataires
circulait courtoisie précipitations pologne
bâle générosité espionne fontaine
culotte chemisette voulue stress
soir marcos conservatisme plan
suggérée clergé margotins costaud
flore investigations saligaud payant
varna nécessairement cornes inclination
claire pseudonyme lauréat corrections
explosions guirlande enterré carmélites
accordéon singapour pharmacien varient

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