Password Strength

bouchon modernisation carnavalesque cède
concis délivrés lysée dépréciatif
rurale paramètres poule cherchant
pluriel rémunérées caves contraire de
permette abondant pourquoi prouvent
bien-être sèche agitée rende
giron speaker submerger fermes
chirurgiens textuel félicite froussarde
michael securitate éloignés cognée
peintres étendard pré discutent
intrépide dépendance pilotes entendra
infection profile entraîne gala
lituaniens transitoire contre passe-partout
aumône uniforme élever languedoc
instabilité controverses transmises attribués
conversations bouteilles analogique cordons
envoyées diffamation testament aboiement
semelle stabilisation fabrique etat
douteuse résolue ange gardien banjo
limpide rempli obscurcir empaqueter
désavouer supplique liens légal
interrégional chairs jaunes juliette
islamique liquide placent perceptible
traductrice roumain équipées caniveau
entretenue extorqueuse traverser échafaud
aménagement considérés utiliser confort
restauration verre rompu autant
entrées souligner courtois fouet
expatrié fairways synagogue diplomatie
dépréciation  fusiller mancelle
assure psychologues donnée chinoise
débarrassé futile don cynique
raccourcir épouvantable grasses régiment
crotter convaincue dirait homélie
apporté minutieusement pomme de terre traditionnel
illusion goncourt buire parviennent
tempérament tempérament coulisse sonagramme
minuscule poursuivre appelle catastrophique
neutron tués assez! tropical
renvoient bique dior injures
danois pouvoir nœuds anesthésie
chimie inscrire embaucher nonante
proposent gerber bizarre centenaire
psychologiques déconner corrigé programmées
bourrin broussailles albert préfèrent
promeneur agroalimentaire microbe foie
quart thésauriser normatif carioca
séquence usurpateur calvet sornettes
pôles repousse deuxièmement redresser
suggérait bol isabelle expirer
déranger prioritaire beurrer fées
métropolitain semestre rédigés indiana
troublé oppressant émail irrégularités
castro analogiquement cargaison rosette
réticent établi nicaragua inverse
bienséance cambodgiens interlocuteur vus
cap fusions schumann lis
pouponner porto sept caduc
incessant clandestinement parasol incliner
rétrospective perspicace débutants prothèse dentaire
vulgaire migrations première guidon
citronnade rit narcotique fosse
charlatan vendre en face battre
jars tirent relâchés stand
sous-développé dépasse tragédie aléatoire
largesse débouche wayne bruxelles
baver désespéré bailleur sortilège
marianne falaise prie albert
sciage écho onzième jaurès
segment tels hernu impertinent
ultimo archéologique billancourt élégamment
réunion défectueux  hésitant
fail présomptueux pulpe reclassement
concurrencer laurence fur armateurs
facilité intégriste durer épargnée
fusillade amendement théoriques gendre
vaudra estival compléter assimilateur
satyre transporté durant icône
suspens difficile fondations vécue
autonome gaullisme rivages dirigera
incurable fourchette proclamer dépense
appelait raffinés cerise intervenir
résider invisible périple roussillon
trouvait déboucher marat vincent
javel gauche gratte-papier vertus
initialement représentativité regrets pis
combiner rassis voyou voltaire
prudent frères balkanique joyeuse
avocats hurler stockholm étamer
causer voiturer assimilateur profitent
bitumer marchepied mortuaire commissure
allaiter carrément bravo anxieux
chaland vente transmis inquiets
gagnants synode mannequin perçoit
jonc allons récompense excavation
républicaine clivages déçus poinçon
benjamin italien autochtone inoubliable
conjointement pull apocryphe recueille
non-sens brouillon vranitzky apprenant
envahir bavures varie démarré

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