Password Strength

tamiser naquit gratuitement tiédir
veillent aveugles avatars apparue
cantons wells orthodoxes bouquin
permettent impuissant loger gagnait
métaphore quelle décadence complété
sonagramme déplier marseillaise passionné
volubile tiendra herbivore masure
sert émises lecteur antibiotique
aborder prosélytisme collectionneur celui
milliardaire déplier constitution compiègne
brown redoutent élevés frelater
antiterroriste exhorter tchèques emblaver
visiter entraînerait adjointe maréchal
aquarelle anecdote maintenant régionales
garantissant masculine filets racontent
judas structurelle renier paire
termes inhumanité associatif récif
larmoyer résine appeler eurythmique
pulluler théâtralement hyper protestations
cherchant inconciliable paille golden
inquiétant duos amuser inculpée
énigmatique irréductible argumenter ébranler
foire cot ancienne fassent
personnages attaqué payant transpiration
reflètent reconnaissance marées dévot
énergie conventionnelles passa venons
demandes toyota désespère productions
croisement département puissantes baltes
authentiquement rétracter légion virtuose
équivalent chômeur annulé imagine
signifier répit apparus pirandello
avènement managua marches télécopie
tempo affermage parodier immature
étés shetland notice prêtes
privées géodésique violence courge
court potentiellement placements dirigeants
sélective enrôler tenir corollaire
universel codes rome lenoir
adopte fallut chèque barillet
robespierre lycéen supposée humaniste
décharger lésion comparable basket-ball
sentiments amodiataire tenant complète
divertissement affluer tuyau bannir
dérober arrivent résument vosges
civiles quarante tunisien consacrent
différé kreuzer bredouiller impie
déformer fromages privilégier artifice
japonaise pièges rajk élucider
respectant patronage cachait souhaiteraient
déboires modeste grec dialoguer
ethnie devant contenait fléchissement
tintement aérodrome tremplin dut
verrou italien offices illustrant
bouleverser breuvages volontaires babiller
implantées caravane accueillis multiplie
prussiens décollage désigné puisse
porteuse chantant solaire hampe
adressé respectives joindre fantaisie
déportés prépondérance interrompre dégaine
raciste saindoux sofres salut
saône contrepartie suffisent alias
intarissable débarrasser consensuelle coloration
rugueux sépare calvaire immeuble
germe sortants principale préhistoire
tournois hôtel de ville commisération tombouctou
remplacé surprise-partie infructueux douteuse
utilement enduit géodésie évoquée
propriétaire open ruines anecdotique ment
maboul mairie obligations présage
unilatéral bulletin artificielles exalté
colline ôter qualifié diluvien
triangle laboratoires négocier montfermeil
sculpture élire repartir spectacles
complètes fabricante repris cedex
roui réconcilier entretien simplicité
volant rabbin anatomique canne  pêche
bénéficie trancher décidés germain
frileux libération somnolent vais
inconstant domine maigre commandement
tropical recommander maudit romanesque
devenues annoncées malheureusement dément
engage thème dynamique coïncider
atteignent soupape consacrées dispersé
éreinté massifs prés éventuellement
grave rempart voter citrouille
anthropophage allumer calculée sentimental
braquer casser suspensions éclat
frénésie aromatisé demandera inflationniste
bulletin effarouché lendl rêvent
approprié nourrie supposé servis
touristes récit succinct pib disputée
ranimer hélium prometteur friand
acclamer vents déménager numériques
médiocre idolâtrer pénible ressort
bouffe douglas relire empire
humeur présenterait rencontrées terrible
charpenter lycéen blessé concluent
assassiné étron colibri logés
corrélé dissuasion boulet froc
fraiseur dévoile banalement perpétrer

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