Password Strength

jaloux bonbon assouvi pollution
iraniennes bell rivaux cinquantième
quarantième matériaux stratagème boursières
spécialisation principauté d'andorre mercenaires éventaire
luxueusement tartufe cavale lacet
diversité semence abject stuttgart
resserrer singe contrôleur bienheureux
nicole colonel réalisable subconscient
cristal achevée exalter comptent
orient osselet frileux si
enfers nobles démontre posent
exigeant dix ans sourde toqué
luanda ces encadrement général
noyau plumet enflammer gerhard
réservée beau-fils ouverture kundera
tapage perrin dépit de briquet
scarabée gerhard instructions nettoyeur
illustrations projections manifestaient émailler
prosélytisme déplaisir milice factures
marches lointaine immuable regrets
alinéa évacué nettoyeur séminaires
incarné phénomène objets 
très inculpé suspendues oisif
armand célèbre minet moule
ukrainienne dépassement rendez naseau
isolés télévisée passionnés absolue
concluent senteur devance règlements
décocher morgue mathématique pouvons
hausse saisons péri prévoit
bilingue avant-propos savonner abuser
houille maniéré traités vulgarité
humecté lutteur géorgien embellissement
viendrait dévotion défendre larmes
char d'assaut tango possiblement programmé
constituer eau de source eau de toilette tennessee
promenades french balourd nujoma
fonctionnaires puérilité effronté nipper
personnes coûter réunies pelisse
onéreux débats diligence utopie
encroûtement roumaines madrid réputé
versions couvertures motrice séduit
natte soutenu russie numériques
kremlin adopte attentionné var
cauchemar panneaux miettes lecanium
cogner humidifier faisabilité architecte
languir espagnol fallacieux spécialisé
rénover lèvre malhabile esthétique
exécutions intransitif portemanteau nazi
delebarre garnement balles entraîne
boucler loterie aiguillonner arrêtés
présentait écarts habit aiment
best autriche livrées détourné
stewart victoires vilipender infrastructures
vitesse munir cantons courir
londonienne contraignantes portugais comparé
hit rajidé façon étendre
certitude fausses distant fourbi
perfectionnement boxeur visser savary
sortie pétocharde israélite institutrice
congénère retours enseignants facture
agriculture obligé reçues biotechnologies
successifs phototypie quantitatif privatisation
ignorer reposent enseignement marmite
échéances  vrai chemin  fer
mayas écologiques obligatoires surprise
lapsus émotivité totalitarisme banalité
principaux apporté théorique crachat
permit hexagone nobel autorités
voirie cocteau carburant fagot
pincée apportées éventail hétérogène
langues niant modèle française
écrivain taylor frappant lay
comparaître prolongation fernandez phare
exempt joie colonie berger
impôts restreinte monstrueux déloyauté
rassure suédois cessions égyptiens
agricoles désespérer homologues alopécie
débiliter diminué fonde sang-froid
chantant cuirassiers christiane proclamait
psychanalystes vole golfe hiéroglyphe
babylone dortoir ouvriers voudraient
assaut démarré indiquée porcelet
fernand suffisants otage outillage
amoncellement paradoxal profondément entité
fidèle paresser mecque hospitalisé
impénitent continent algue ordonne
psychologiquement pendre accède bien-être
perrier giorno caraïbes grains
soldée rudesse interjection prusse
souhaiterait disputent manouche tenu de
piocher donateurs retient industrielles
énormément inventaire flirter demie
recueillies fâché suggestion extraits
emballage pitié sud taillis
assimilateur présider dingue roc
goutter restent tram trois cents
posteriori spécifié  tablier
écoles cordons rêche crêpe
protectionnisme larmes manuelle écarté
thune provient miser charmer

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