Password Strength

éloges gilets aborder talbot
furent inexpert pétain dépanner
altitude apparue camaraderie insistance
phares alcoolisme international dante
interministériel rabais irrévérence bouleverse
remblai nul bleue fournissant
preux maires couler progrès
républicains plaidoirie identification rationnelle
légende anthologie gélule anthropomorphisme
laignel devine blond abasourdi
freezer squatters noblesse ukrainiens
sincérité blaireau frappent mathieu
signe filigrane élections syndicaux
immanquable opposition douma éclaté
poursuivis fendre allons cénobite
imposées passeports questionnaire transport
prétendre soudain immunisé foulée
gâter légèreté coûteuse patriotique
incorrigible quel donateurs remercié
bouclée soudainement logiciel versets
espagnole anonymement chute immédiates
laissant motiver contours flores
alphabétique iliescu espagnols balivernes
joujou gager anathème surcharge
thermomètre recompter publication immature
exaspération pitoyable leur incommode
entrées parle élites contre
médicaux présent fallut désormais
explosions voyageuse paient monaco
souples chemises laissaient suffira
virage attribut obligataire réalisé
amiante jurés carte consisté
quota construite surpayer majeures
désignés emballé rédiger dissuader
moribond divergences coste battue
passionnante calleux inférieurs exportation
nouveau divergences préambule illustration
brasserie traversant frotter luxueux
tsigane vogue baragouin cerise
quimper survivant entraide affréteur
astronomique lier irrité apathie
slogan aquitaine toits amendement
antagoniste rencontre repartie ombres
chasteté malte entraîneuse gobelet
nef autos papillons matelot
début de handicap nettoyeuse barre
stupéfiants congelé ration blague
bahreïn missiles prime attribue
excellents marshall fournit abréger
visite magnifique chicaner frappant
présidium der cancanière gratuitement
absolument silène enregistrer maintes
semer votant cons jardinier
reportages impénitent adversaire arrivage
épisode associés différends eau de toilette
ambiance employer vendange cycles
increvable tanin chantage grotesque
réunissait vaille voulait myope
merveilles broc broche gué bru
musée ténor golfe captieux
plantes blesser forestiers aliéné
errements déplaisant résulter engage
surprise-partie mouloud émise cuillère
toit psychologique ragot miser
camé sentent presbyte engrais
explicatif négociants précarité suivent
proclamant paru vitez atteindre
glacé prématuré calleux adieu
injure choses abattre succomber
anthony entreposer raréfier stephen
recruté serrure pression restaurants
cicatrice divorce façon uniquement
alger déboucher aucunement panaméen
relevé absent conscients mêlent
intégralement néfaste modifie lotissement
bougent artistiques cornes concentrer
prescrire ravin excepté déporter
dictée conduisant fortiori flore
lecture graphiste relater manipulations
mérite prends ensanglanté folklore
chelem poursuivent variante groupe
trépasser paie pression bourgeoise
tapisserie crèche propres retirés
adoptant agonie pouffiasse diversifiées
mufle assaillir tonitruant publique
égide carnet ardent preneurs
autocratie vestiaire thune quinte
article influent nue teneur
incandescent diaz rencontrer sophistiquée
coup de froid bavière tunis reconquérir
studios circonstances fondateurs toulon
serrure cambodgiens pierre barométrique
centraux missions rite gracieux
voyons rocher dubcek reconnaît
trouvailles pécher fabiusiens provenir
divisée chenet aider trouverait
achevée imprenable convoqués naissent
auto-stop hâve mander pourrions
tome indemnitaire fléchir citoyenneté
angine seigneur largesse faciles

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