Password Strength

tauromachie variétés séminaire laboratoires
blocage éloignées lier renouveau
extension lustrage bouchon catastrophes
giscardiens téléfilm comité dévouement
teinte enseigner manger fuient
devenu loupé présentes agglomération
jetés péricliter professer inhabituelle
statut dissoudre méritent mémorisation
chirurgien connaissait lisant colin
autrement rempli voitures indifféremment
terne injurier euphrate prestigieux
écrivains trône hygiène réparer
entrer demandeurs proclamation inculpés
restrictives étudiante thésauriser grenelle
géré sphère vanné nonne
pénitence représenterait envoûtement forcerie
réduction draguer départir poutre
harvard convalescence inventif godillot
fronts pacifiques casablanca abcéder
hésitant déplacée paganisme pouvant
flambée juxtaposition franchement diplomatiques
résidu réalisé socio-économique fiable
savant énerver dénoter longue durée
vérification spécialistes englobe calcul
suivre warning renom réglementaire
mancelle inutile allemande résine
procréation bagdad égoutter colorer
hommage vétéran ukrainien honnêtes
jade arrêts garcia notons
forcerie auteur embellie parraineur
mademoiselle répercussion inculpé cézanne
opérer sollicite supplicier bénéficier
voyageuse assassins contradictoire faites
goncourt gadgets bell evangile
développer suffira toiture dénonce
dégradation touchent commande conjuré
saisir planche sorgho tâter
certificat redistribution excessifs racler
évacuer maintenir processus artériosclérose
rugueux rossellini délié cercueil
placide généralisée puissants russophones
entraînant diluvien invoqué ambitieux
salons versés entrain asthme
ouïes arrière-garde crédible filières
complètes oublier araignée aspic
postal élu riga pub
fondateur compatible remontée rossellini
amatrice fromages chrétiennes interrogateur
pouvaient saveur tracée plafonnement
moisissure cageot épaisseur importer
préparait lvov figue armistice
bataille antifascisme étançonner réagir
récépissé pluie navires renchérir
reconstruire ordonnée marasme serait
instruments sun déroulera tracteurs
causé milan inventaire barman
acidité khrouchtchev sursaut enthousiasme
médical bécot tresser incitent
bonheur costaud expertise tôle
salinas loto comptent prépare
tourné obscène éditorialiste dollar
rodomontade taquin insipide lituaniens
consensuelle paternel âgée excessif
laurent million reprendre boulangerie
effusion sot tabous donné
berlin manipulations stephen tremper
rompus multiplication hétéroclite chose
recouvrement tendance despotique préjugé
constitutionnelles élevage portent vend
décorateur axée villeneuve voté
pain épice froc imaginaire attendus
acharnée socialiste corrélationnel pendant
fantôme intimement manteau bakchich
jean échelon garagiste discipline
défait éloignées tissu emmanuel
essonne touristes source locution
réponse farce pelouse reprendre
méchants narcotique placées rivage
truchement anonymement malédiction golf
dissertation sociale bibliothèques 
gain est miséricorde interurbain
sataniques contiennent soucis transporteurs
fahd manquer objectif gymnastique
questionnaire consentement fauché influent
condamné défenseurs abeille première
si aime cliniques sémantique
fiançailles figuraient couvent corporellement
plis publiait rugueux sorbonne
nerfs obligation charpentier renchérir
vandalisme borne répand défiler
substantiel argonaute provisoire empêché
épiscopal bagarres plat propre
dicton laideur coordinateur hypothèse
grosseur aile automatiser complique
dégaine courantes jura influer
boutiques dramatiques roland décocher
sanctionner relation fait rétribution
pilote timidement révéla territoires
prochains montait poissons tsar
aborder trahison juridique diminutif

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