Password Strength

symphonie pesé gonfler galerie
parlée munir inculture imaginaire
entretiens affûtage radiodiffuser devienne
méthodologie survivant souveraineté effectuant
ruines vacanciers gaze admirateur
matraque aveline derrière chanteuse
impersonnellement épatant aiguisage technologique
pute minet rigoureux survêtement
allés tonnage jésus vinaigre
apéritif adamien formulaire lointain
oral hiéroglyphe leeds ironique
iodure cacao donateurs alignement
assuré fortunes piètre déliement
chaotique tours jacqueline administrative
coups variation boulevard obstruer
barrières humidité gros mot psyché
anarchique mai comique prédilection
forcer vénus rapt panne
bocal plonger conciliation village
métaphoriquement traire creux écrits
sites éventuel détaillée inconnu
inspecteur hors blé came
discutable voudrait europe tragédie
transmission odorat parente battue
toison contributions urbain malheureusement
bucarest frotter décade culturels
démenti ballot prudente arachide
orateur sémantique million nippes
gamme significatifs vents vingtième
économiques  bravement pivot
lawrence jaunissement fugitif statistiques
résument confection impuissance irréductibles
leeds aménagements heureusement apesanteur
débouché cake insupportable annonciation
placide mollet réunis linda
apprécier insu mondial italiens
reine cuisses penseurs infecte
ameublissement tanneur images craignait
mexique intermédiaires dizaines dissimule
correspondances comploteur grise camps
dégagés colline suspendu suivantes
harris restaurer  lecanium
georgi réserve productions dissoute
beyrouth smic répand cultiver
inquiétudes sud instructeur globales
emprisonné marquées malappris tabasser
indifférence colombe capter délivrée
maghreb bidon infirmière cyclistes
cachée panneau supériorité proportions
querelle import démissionné monopoles
transactions expéditeur beurre discursif
artiste épices braver chiffrer
léniniste merde empreinte reprises
hector confiait paternel moindres
couches fissurer européenne palestinien
radiner hiérarchiques riz scélératesse
coupée annexe empêchent quittance
atroce amonceler polar préférable
glacier armada patiemment comprenne
ses invention courts juger
absence expliquant exténuation missions
bonbon ambitieuse source racines
concierge imagé publiciste dominée
africain déséquilibré éventail constructive
peine étagère consacrées exercice
exonérations venu terminus unie
similitudes subventionner souillure gigot
rossignol évaluée antisémitisme prêt
députés tourisme cupidité reculade
défenseur alcool ignore fidèlement
choir existait cap dix environ
thèmes pinceau chouchou séparatistes
consultative sylvie connaître proportionnellement
mégalo butor mot-clef traduisait
théâtres rééquilibrer armes gai
courtoisie basket-ball occupé avatar
évoluer dérogation entendez fanfaron
ain partitions italiennes baltique
revendiquer exemplaires obscénité disgrâce
cynégétique rampe fluctuations infiniment
banqueter fougueux substantiels brochure
exprès habituelles financé rallonger
marginalisation déférent principales simuler
faudra égotique démonstration développement
indépendance internationalisation épreuve empressé
adjonction croyez déclarations cour de justice
exploités aventures barrot terroriser
persuadé rude luxembourg sections
administrateur amiante visible pâtée
installée irrationnel champ visuel auquel
dialogues barsac devancé flamboyant
rosette surcroît aérospatiale lama
judaïsme venir tromperie fardeau
déchausser nostalgiques stimuler anonymat
amabilité chronique actionnaire excellence
récolte symbole suzanne colonie de vacances
supporte reconduction autonomes time
déçue solde pendu apporté
détenir rassemblement liesse réquisitoire
taxis apprêt académique léser

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