Password Strength

brasserie autobiographie comprenait lyon
incommodité controversée bâton arrivées
foucault maire erreurs rassemblant
cassable entreprendre exportateurs historique
entrepreneur sébastien micro- guenon
budapest reçues créditer navire
pratiqué déficit réformistes aiguiser
eau-de-vie état-major gratte-ciel serré
fleurissent machinalement fatale lézarde
valéry dominée coûteuses ramasser
consommé séduisant réfléchir ouvriers
certaines métaphore caraïbes pouls
réquisitoire dialogues personne conservé
récolte assécher au types
gomme bruno queues genscher
institué noué blutoir laye
contradictions sélection coexistence quelques
vigilant demi-cercle engagée soumises
locataire allemagne  ample
basculer torrent de teinture iode aviatrice
blutoir immobiliers lâché dissimilitude
encourageant hermétique expulsé torturés
albin artésien dormir navigation
chorale rené incomplet mozambique
chevalet goût réparations opulence
dessinée inquiétante corrélationnel adroit
dirigent pesanteurs production gènes
roui roue mines jurys
esclavage diminue multimédia larousse
pigeon chrétienne torrent de commissaire
indochine firme encombrement dense
chez perdant cliché deviendraient
fat reine interrogé débrayages
pharmacien rentables  pal
ampleur emménager promulgué enjamber
ina tortueux commode habits
affrété attrait pourboire chancel
gymnastique estrade insatisfait liant
magistrature motard bord totale
dévergondé époque exemplaires ralentir
longrine astronomique comédie régionalisme
latino calculatrice vietnam débuté
proclamant bourses bouse quatuor
ethnie chargent renifler revenu
déguiser adjoindre vétérans ourdir
misogyne minuscules appelées subordonnés
sphères partagés païen imbattable
discrets espionne caroline avènement
positivement grue obscurité saine
aiguillette achetés mouchoir panser
épicerie hervé mugissement saupoudreuse
rechercher administrative grise détenteurs
freiner décide arrondissement aînés
avez natation reproduction irrégulier
appelée spéculations dessine nourrice
écran adoption relire barrages
évalués tripoli ramène invraisemblable
réflexes sera effets papetier
oindre dépôt butte fouler
essor chemin de fer napoléon prix
découragement gradés laissée informatiques
déconvenue jute barque envoi
bananeraie tendu autorisées rhinocéros
albatros inopiné contemporain vatanen
souterrains devenu renoue amendes
embryon eus sembler échangés
harpiste ceinture antilles aéroport
têtu peintres recréer désapprobateur
pénitentiaires précises géométrie pantalons
conduisent doivent ordonner victime
nécessairement extrême genoux pelé
illettré brighton ambon féroce
usure concevoir moustique routes
papule refusant corriger revigorer
italiens transposition baguette galère
châssis irréductibles sexuelle éventuellement
applaudit porcelet martinez freins
ceux-ci piocheur bénéfice rêverie
cousins gadget observant aériennes
rutabaga douane défis clandestines
vital sauvages bel élitiste
arrêtés octobre barman galure
brefs recommencé sofres affirmant
fisc oublions triomphant ovaire
reproduit frontalière sachet cache
puits authentifier porte embrasser
dévouement mets fêter lesquels
réitéré emportement membre crédule
portemanteau obstétrique diversifié chéri
déplore gramophone précédentes romains
bertrand gitane démissionnaire ponant
précisant trêve parvient persévérer
banjo réformistes recueillies globe
assainissement frimeur tigre aride
dicter barre révélées mêlent
envers diabétiques banal angelot
télécran latin contestation 
supportable cassable guérir freinage
lascif maternel amonceler effectués
délivrer hectares empan ministériels

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