Password Strength

capitales criminels déterminer taillé
rénové psychiatrie dorage différencier
grammes pensons raison australe
complice sponsor hongroise inspire
pensif visionnaire homogène croisière
charitable favoriser prouvent rares
abats mirage metz barrot
dispatcher tours visée parallèles
fasciné pieds stellionat fondre
incriminer réuniront maudire sienne
serres sève multipliés éprouver
poudre distrait épointé noisetier
remonte lalonde lefebvre parlementaires
filière dédire bigarré véranda
usages rassis indemnités inévitables
réputé vins constant supermarché
infirmité menacée chinoise orient
calleux connaître déplaisir voix
délivrer ouate coupables amusant
structurelle ballons rentable charbon
escorte stocks sanglier ouvrait
pochard géochimie calculer crépir
polycopier remboursements chiens répliqué
carma fais livresque extorsion
play dominer mineurs violettes
poivre conçoit aînée empiler
souriant cogitation transmission ecclésiastique
romains surpasser quémander documentation
orphée anthologie hétérogénéité succédé
daté faulkner désorganiser plongés
abandonnée corse formellement surmenage
renier chewing-gum soigné répondant
sévèrement recommandation aérostatique repenser
barbouiller miennes anathème injustice
appartement) complicité indéniable antin
cheveux en brosse fronts aromatique satisfaction
acheteurs séparées disques mouillé
annoncés finances inculte redoubler
écosse roussel provisions solaire
jet eau gonflé habituels bilan
modèles sensuelle réintégrer docker
vieillesse festoyer  songer
exécution maintenus plaisir ecossaise
plagier entourage lacérer attire
signes doutes not automobiles
économie myriam qualifiés conjoints
puissante tacher forment vipère
intervenir sucre calculée bachelier
transposer stimulant désirer anéantir
désobéissance primordial douloureuse tambourinage
confiées bactériologique ayant pression
répression mlle mystère meuse
mahomet éventuelle ressortissante marronnier
plein émouvant enseignante lois
baudet compétents professionnelle indirecte
oxyder proclamé joie cracher
disparités écœurer ressortissant brûlé
titre emblème façons bassiner
torse placement moscovites perçoit
spécialisation exceptionnelles couler remet
redresser jungle pannes avantageux
soutient dépassent pénales blague
frénésie diversifié vietnamien velours
douter entamée honorable pétocharde
bécoter souveraine imprévisible environs
convois déprimer financiers dénoncés
biotechnologies combinaisons contrecœur infernal
mettra transmuer analogiquement tombouctou
complément audiovisuel têtes croquis
dérapage flanquer aimé fondre
sienne rectifier aimanté nullité
éleveurs répond réalisé vétérans
dicton gomme arabique rebutant cataclysme
considérait concessions oie surprise
achopper pivert utiliser réussites
greenpeace boeing quasi sauf-conduit
méconnu tunisien jument western
diffusées envisagé pilon regretter
circonspection reconstitué granuleux questions
limousin véhicules reniement prenez
méchant interrogatoire déménagement écoles
calvaire crasseux réchaud perec
occidentales solide nul incapacité
engagés reconstitution payante franchissement
perçue jubiler réagi saoul
psychologiquement question tests régisseur
stable consentis solidité permanentes
proteste lyrisme entendre satisfait
subsistent contraint proférer intra
suavité intrusion invasion simultanément
parallèle crient tourmenter hasardeux
magistrats navals intimidé pouvais
noblesse chausson ordonne grandes
soigner tentée contente traduisait
recompter au-dessus toxicomanie désirant
finie souris magasin gère
publiques leadership appris volkswagen
clandestine scandinaves rampante perm
châtaigne acier moyenne écrabouiller
exigence poudre aspirent suisses

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