Password Strength

prévoyait remboursements excrément dépôts
délier allocation déclarer élevées
taquiner sincèrement jeudi noriega
dûment friser limitée roc
insulter autopsie éteindre convalescence
salvador virulent instruit alléchant
transformation couvert marqués carnavalesque
blum micro-organisme inhumation désigné
engendrer bidon cacheté roublardise
square badigeonner breuvages freins
roubaix bonasse boutique micro-organisme
vienne flegme vigueur présentes
expositions fléchissement refusait comparaisons
poncif inflationniste domestiques dextre
fiscale tombées chaste pot-de-vin
matériau idéal australe reconnaissance
menus bambou  allaient
assez! homard sphinx ruminer
brune formels fourrés germer
verra bordure urgente ministères
vacant luxembourgeois habitation académique
bonjour cotées devenu tavernier
fernando aseptique extérieur challenger
impliqués pain épice différends partiellement
écrasé contraire de fischer émacier
akbar abriter barbouiller recteurs
philips souhait comédienne typographie
dominée prêtent transports démocratisation
sapeurs utilise désintégrer mesurée
galant alchimique calédonienne suprême
chaos pénaliser privilégiés cogner
reproche voudra effervescence réponse
inlassablement gémissements ukrainiens hivernal
 reconduit espéré ovule
bouvier nonce tienne critiquent
réduit rincer eskimo payer
manipulation continuait écrits instituts
visages dissertation lucas contingent
dévider méritait norvège subie
sommeil arachide signifiait embellie
forcé maltais heureux enseigner
premières cyclone masque plaint
 obédience gouvernementales poursuivaient
tourné andain censure revanchard
kahn clair récriminations sommaire
crêpe lufthansa provençal divisions
patience componction immobilier bondé
nicole démesurément offrir bannière
rentrés sûre selle salière
ceinturon mœlle taxes souhaitent
participent assises commerciaux américain
débile portemanteau jarret collective
laissaient neige bible confiner
déposé réouverture dépenser constater
kiosque lituaniens courtois ensuite
glanures gagne surchauffe durable
vidéo différend affinités rêve
boliviens têtes positif vilnius
vaniteux foch are présente
boites débauché extorquer assassinés
narration révélée blessées vindicatif
entretenue impudent dialecticien dévaster
incitation détériorer accepter marasme
neil mobutu repose tôt
œuvre rouvrir coups redoubler
privatisée ôter canarder affermer
contenir attendait répartir heurtent
institutionnels dam graphe candélabre
banderoles prétendants tranchant sociologues
aloès tempes ruine assoupi
technologies côtoient cellulaire repère
 injustement décent faisons
fiscalité nuisible grève détention
mentaux oslo site monter
affranchir queues répété envisager
querelles défensive obstiné agit
antonyme jacquard nationalisé détonner
épaté rejeté caloyer brousse
hezbollah seringue mêlant isabelle
photographe orthographe empreinte contrôlée
havresac clark étage connaissait
oxygène volontés fus permettent
auschwitz écran convocation lexique
garçon photographie fraiser nage
démographique intoxiqué parcimonieux comprenait
étudier entré facétieusement dague
équiper escomptés bactériologique antidrogue
bonace frappent amorcé géologie
savaient gravitation ticket psychanalyste
séparées conservateur tarkovski magasin
hourra rappellent suprême penchant
contemporaines polémiques classer dominique
électeurs recteur baltique désamorcer
situer astuce arbre de noël agence
aptitude solution prive proposées
heiberg armateurs norme marocaines
programmes cheminots likoud bénévole
fluctuation contrecarrer informée convoqué
dégel atouts infléchir imposé
fausse incohérent congelé annoncées

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