Password Strength

antidrogue collégiale biotechnologie formé
oratrice omar crique comportait
sceptiques figurer balourd interministérielle
requalification appelés sachant réglés
reprenant minimum rapidement indécent
philosophie prestations palme plâtre
convoquée légitimes fi téléphonique
déposés envoûtement colonie seulement
ambiguë pointure marchepied émouvoir
paraissent inaugurée ponction cahute
mortifier incisives contes concepteurs
répandue incendies autoritaires visas
tibia commentant supermarchés prêtes
colonial santiago analytique cajolerie
parus malsain transport cardinaux
strasbourg sonnaille pureté antennes
populaires interrogations distinguent piétons
persévérance circonspection mit dissimilitude
dépassement rivage hivernage fanfaronnade
maternelles panaméenne revenu redressement
vols adolescents désordre tentait
sert emportement insecte lui-même
tourelle tenace dîner rapports
similitude participe anticommunisme affliction
séminaires impair approfondissement ferrand
dessus pâtir artisanale pâte
trèfle triomphant précaire désagréger
philharmonique tels que trouveront partisan
défis répondre accompagnées veulent
peuvent narcodollars vaseux quotas
verne électorat accidents baleine
vin doucereux dressés alinéa
privilégient localement posée concasser
carré popote trois infructueux
découvert divertir géographe césar
anglophone cacaoyer occuper décrier
aiguillonner émanant cocteau rassemblent
humidifier blot écarter signaler
riz travaillé afghan vint
cérémonial leurre bercez andouille
bouvier échos justes allée
récompense engourdissement poster cyril
tendre introuvable règle évincer
organisateurs regroupés auto values
pétrolier représentante hésite séculier
frères drames bolivie musée
signés exporté approuvent demandait
poisse visites répliquer maussade
policier productive assonance torrentiel
service casquette artère 
érudit  salière tracer
amène conforter duré data
blafard incapables brouhaha oser
usurpateur pêne varna massifs
primordial pénalité membre défait
mâchoire attaqués augmentant malentendus
agrément désaffection encouragement général
apprêter caduc chanteuse caustique
chaîne subventions sales retiendra
éclopé immixtion nudiste exploitée
virage immobilisme singapour griffonnage
république enregistré scénariste présidente
émis dessiner bigleux devancer
réussie soude conclu scepticisme
rose gracieuseté dominante primordial
rétorqué fuir timidement déloyauté
continents arrogamment vint schnitzler
punaise réfuter trois cents do
jure nabot parabellum manteau
font trafiquer routine posent
contamination buire ancre garantir
hétérogène couvrant géorgien jésus
rebutant affichage câlinement fondent
perspicace picardie sommaire cligner
concernées occupaient dévotion impatient
paléographie maille ambulancier injustice
protocolaire appartenaient lac devoirs
roublard évité bell habilement
rebuter végétarien digue sortira
engager valeur garde-robe terribles
relayer financées spore contour
fournisseur demandes ordonnance dévider
connivence salami lourdement paresse
intervenant sentiments vignoble pantoufle
côte lycée médiateurs rude
jours immodéré brusquement magicien
jubiler composites tinter écume
ajoutait pin fusée précède
compatibles faîte natation démerder
parraineur angora exclus démantèlement
vésicule angkor stars évincer
galeries fiel floraison purulence
imparfait découverts ressources oxyder
effacement chimiste révéler exchange
lointains déposer ressenti décontenancer
rassurer macédoine lignes supportent
ostentatoire ventrière irlandaise pierre
sel anxiété couvre-chef soi-disant
reconstituer irrémédiable automates relatifs
réparations obliger magasins tôle

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