Password Strength

lié requérant emblavage tartuffe
arithmétique publiait attrayant civique
cordes robots acéré réfrigérateur
veinard notera dupe marais salant
hautain ébaucher exprimée ordres
prolongé revêche recouvre accueillera
intéressant démodés aînée égoïste
rallye halluciner goujat serviable
unième chiffe molle tombouctou aille
toi compétent crier vert
chemin de fer bloch camé douche
tempête occasions recherche ébullition
bonds plumet anglicane diversement
livret coton abstraction arythmie
cocaïne rétablir documentaire politique
embraser consulté propres rigueur
vivien opinions remboursés souligner
absents technocratique assommant content
secrètes imaginé filet fusiller
facilitée agent frontière réseaux
nulle dérange futile dorsal
relais brasov futurs arbre de noël
rangées brésil tient gibet
quelles intérimaires récif provient
brouillard caméra fourmiller maire
uta bourg commissionnaire blois
clamer soucie clarifier grimer
adhérent subsister halle suzuki
déchaussé chichis catégorique ambitionnant
paysages préoccuper concret querelleur
défaillir petite-fille lucas matériaux
demandée bastos nominatif revendiquent
réaménagement saisons idéaux chiant
avait choyer librairies palis
drogue antiparticule djakarta orientation
méconnaître gagnera nominés votants
emprise extrêmes colonie révélait
soupir polir gâteau murdoch
 combien lucien âgées
aspic prose pain agronome
papa implique cesare serviette
douanier soulagement sensations ouïes
intermédiaire porto studios disaient
pare-brise meuble exclut devenaient
marguerite recommence sermonner bouleverse
universitaire radiophonique occultation sciage
révisé généralement critères possibilités
goutte molière arriver dépensé
prononcer avenir patrick effréné
belges légitime bombardements importées
rang nombril supérieur rattraper
tonitruant stimulation comparé trajet
montants deçà souffrances végéter
gardien salutations flageller boules
duc convertibles ère compact
tien titan masculin mademoiselle
urgence geoffroy droitier notions
périmé ressortissants dizaine sur-le-champ
salon lancia pesant poussée
expulser longueurs mère devrait
automobiles rétrograde orchestre exclusivité
sols patiemment detroit partout
crimes officiers rythmes paume
créateur allusion ananas glue
chapelle retient livré torrent de
ultérieure celui-là sédiment introuvable
courber déclarer armés premier ministre
légation bébé reflètent emprunt
apollon fossiles drogues ordonner
dite dialectologue poivrot infinie
nettoyé aoun saturation maîtrisé
facteur technologiques tuerie libéralité
républicains confié envi insécurité
cervelet capables rhapsode médicament
sardines réservation ravitailleur probe
trépassé diététique venezuela parties
amateur tonneau planches bouillonner
analgésique recherches pharmacien hermès
africain ulcérer pittoresque anciennes
quasiment dégât suspensions serf
haut formuler balançoire judiciaires
tonique inchangé amélioration spirale
hôtels bouffon réfectoire populeux
futur lits restaurer récréation
distribuer enrayer grains agréer
locataire sourds expliquer pré
hante choir salopette ajoutons
assignation dispositif autorisant atterrir
étrangers exiger rassurés similaire
crotté réputation acheteurs edgar
bénéfiques annulée effectué pancartes
alger remédier détrousser interminable
incinération suivants failles stupidité
humoristique extraire cécité saisons
conformes discorde ethnographique léninisme
déformé épine génocide conciliateur
permanence trouverait inexpert rallye
technologue débuts besançon racler
signifie montrent jure tasse
travaillent stage pusillanime simplicité

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