Password Strength

fusée indiqué saccager plausible
cesse rapace reportage jurer
attali liens espagnole rétroviseur
antiquité divinité verdure dons
inégalé titre meurtrière isolé
desserte intégrant lits génisse
auraient coïncidence mauvaise individuelle
monstre satan reprise placées
rate saccage concordance dessinée
agilité vague misère incorrigible
réalités poupée triplé prodigieux
char d'assaut paraît tsariste bande
invertébré droitier sidérurgie alcoolique
quotidiens cherchant bouffée extérieurs
foulée vibrer décollage lampe torche
ergoter montée jumeau angleterre
touriste beurre véreux calculé
mendier estimé moteurs iodure
diversité exécrable deviner bar
anthropologie survivre crinière appétit
ballot auditoire dedans défi
ruse tuyau houle spécialités
rivage fan massacrer fleur
ménages élevé inviter attendaient
respectés tunnel représentants séjours
exigeants construites conférence de presse volga
prudents versés tout-puissant confirmée
andorran périr suspendues puces
richard légale bidonvilles tailleur
maladies crétin détail centrée
béninoise élimination bâtiment odeur
circulant framboise chétif saisine
estrade fable chinoise dualisme
pourraient envergure choquer préfère
rivalité léniniste favorisant isolée
délation synergie ride groseille
tonnerre rendues réclament pontoise
pêcheurs cavalière notes droiture
presser souple annoncé immigrés
altruiste ombilic transylvanie jetait
contrefaçon diversifiées prenaient fraise
détenues morue danse jouées
ravi lainé parlementaire désengagement
érafler généralisation tout-puissant distinguer
cases résultat stagnation cherché
malappris synode similaire vaillamment
bébé unité suinter assises
accentuation introduire courrier kiev
allitération aspirent malédiction martyre
pension huitième sarl romains
créole changements appels perdition
saga lasciveté déversement enfantillage
métiers déclenchée répartie architecture
linguiste barricade refusée mette
formule cessent audiovisuelles pincée
principales émettre collectivement sursaut
trémie mentales stylo plume désintéressé
jarousse gabriel élimination fait
succombé préhistoire purs rentré
cerf-volant surveillant occidentaux nicola
manœuvre distance basaltique retrace
mitterrandiste contributions signer abjection
inapplicable symbolise récupérateur impoli
culturelles regrouper mahométan aimer
impressionner décoratif scènes passerait
gains agresseur rétrograder poney
scientifiquement agilité crépu fictif
innocenter spiritualité superficiel somptuosité
conseillé amnistie astigmatisme incertain
occulte eaux bague généralistes
autorisée fusillade univers cour
montrer loufoque sauvage lutte
exécration triompher reuter qualifications
repos terminus prévention confisquer
venger pauvre effectivement su
émane mocheté navals défenseur
arnault amorphe humide crédibilité
leclerc brésil fifties ornement
kafkaïenne engage gratification protégé
octroi fixes égale contribué
tonitruant tombée toulouse abandonnant
terme parachutistes agitation chroniques
insidieux différenciation aérospatiale cul
début de réservent désastreux chanteuse
mademoiselle sauter interviennent modernes
cinglant caravane axes quasi
débouché pensent apportant ivrogne
tout-puissant parvenues antonioni icône
oncle maternel remue-ménage composant perspicacité
nouveau-né étayer centimètres expert
masculine fréquenter volontaires douteux
interrogateur réacteurs demain collaboration
catin construisent pressions complices
souscrit ficher conclusion géographiques
grimer pentes parcelles aisselle
intersection appartenait cohérente milieux
obéissance nordique  ainsi
rock alloués récents ironisé
évoluent voudraient biblique excursion
philo ils concerne anderson

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