Password Strength

perd déséquilibre acclamation tripotage
bijoux candidate supervision greenpeace
exil recrutement joindre panégyrique
débarras arménien glaçon matériellement
éternuement légende démontre marin
ânerie lacustre cruelle furtif
ravissant incitation inra soutenue
goûts décacheter dégoutter prélèvement
indirect volvo ouvertes siens
forte relaxation intéressés émail
reconnaissant évité balivernes raclée
chandail fugace huitième païen
rais dénouement distingue égratignure
bourreau obtenu religion égide
tendre créateurs exporter éparpiller
aspirateur dior éléments malgré
conventions favoriser captivant figue
sabre nage chaude journée décent
dévaliser apprennent centimètres cavalière
infliger mortifier vole payot
ferdinand irrévocable gloutonnerie limités
coloré dentelé logistique propriétés
marié officielle antigouvernemental vol
robot brosser berlioz minimiser
jurys assujetti réaliste 
autoportrait charriage débile grossir
proposent treize psychiatre créer
issus frondaison limer cloître
puisque vérole collecte tintinnabuler
terminologique devenir résument dû
estaing pudeur redouté stick
orienté nœuds opposait traîne
rationalisation partis risée invertébré
démentie mairesse distinguer de gautier
protectionnisme préférences interdite rentrant
formation harmonisation fréquence anne
recouvert informée élévation acquiescer
cérémonial olympiques cacher orageux
généreusement tend opposent pourrait
grelotter chypre vodka mémorable
écologistes domicile delalande réduite
cornu tâche apothéose saisi
prévisions banc connut mioche
humanité prêcher officier québécois
cassettes débauchage ah aubervilliers
nazisme grise souscrit clips
troupes atypique relâche cervelet
ouvrière maquis promise lutteur
documentaires tien défaillir liasse
volet nerfs portemanteau marchent
réprouver portion arrivé café restaurant
lourdeur agroalimentaires immédiat géré
vilenie subordonnés opposent persécution
semblant poursuivies inégalités amendes
ôter convoqués inondation émotion
planteurs mohamed attardé convenait
dessinent éclipser contradiction solidarités
fréquents graphiste estonie tiennes
unilatéral fauve battus totale
pianoforte petit-fils classification scabreux
éclate gares failli envahir
éclipser lignes beyrouth austérité
devine transmission saper occidentale
manouche reprises carré salopette
marraine auto-stop danger trucider
carlo westminster reclassement mercenaire
réticence furent subordonné conçues
inlassable préconisé déplace provinces
ose écœurement cessent réverbérer
rouleau souhaiteraient obligations euromarché
responsabilité seule fréquences détourner
opportunité défaillance constance cumul
biologistes marchelli direct restaurer
périmé patrick véranda exhiber
encoller sahara empoisonner apprenant
athènes sentiments carcassonne distinction
état d'esprit courtage celle recomposition
bassine serra philologie prévenant
ballot base belges contenues
rapt statuaire esclave postérité
composé touchée sabotage efforts
frayeur oranger contemporaine organisent
retrouvée feu celer apprécié
rentables résoudre électoral cordes
magnifiquement avril marchand media
matra comportant associative correspondances
équitable retarder jouée diffusée
portrait pioche achetant inscrits
anse securitate illicite simone
combats projectile docteur déportation
raisonné préférences comblé fêlé
kaspar nouer poupon légalité
extinction senti hostile magnat
confirmation divulguer occupé bmw
piscine helvétiques entretenir réserver
lomé juif impuissance roulant
appliqués boissons répondant marocain
 chargées conne piétons
rusé interprétation coaguler territoires
disquettes suicide individuelle disparité

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