Password Strength

colossal genres défiler consécration
lanciner afin votes puissante
respecter débardeur gendarmes silence
couteau tordre david conjugal
lentement dépasse présage nombreuse
autographe vanité bible vis
ils collant enclins roubles
érosion prière renchérit inconscient
bacheliers volé frégates creuse
bitume vaudrait nommée médiateurs
incrimination lugubre piétons structures
instituteurs vulgaire relation vives
forteresse dollar bible mendier
serviette tranquillité actinie barcelone
relier part pinte aurions
veto lemond colonne fabiusiens
capitalisme district arrivants inciter
auditoire apprentis professionnelles arrières
ouvrent boeing proposées typographie
imper flemmard basket externes
chou éloignée photocopie révulsé
pasteur cingler agissant impoli
sperme admirer cruciale imre
andain françoise palestinien éviter
comporte fureter jouet taille
dissensions totalement bandit sheffield
opérationnelle simplet hélice serai
harpiste retirer hiver posent
verso théorique soupirant snober
devoir abdominal assistance matérielle
compartiment formule collective soviétiques
brouillard kyste suez courtois
anarchiste coloniale normatif mioches
survivants appentis dietrich bucarest
nigel européenne austraux moqueur
broderie plonger série primeur
kouchner cataclysme détenues jospin
automobilisme continuel effacé panama
flou consomme médicale hérésie
torgnole pucelle assimilé documentaires
ethnique dévorer dédire giron
imaginez huiler jugée moisi
impoli académiques décoratif déclarant
consternation diplômes poussière rassemblés
intégralement discrimination virage mannequins
couches transgression antiparticule pulmonaire
 longrine luette arbre de noël
alourdir suivent inchangée cerise
commerciale gourmand apartheid abouti
transvaser pédagogie gaspillage intrus
saupoudreuse bruine gésir vitro
parlent lev situées sorcier
dégriser rôles héros raconte
bénéfices sentimental salariale nus
mêlés patois temples accompagnement
super compartiments contestée berner
travailleur genou pare dakar
parachever carpates souffler sanglants
karl empruntant allemagnes affiler
installées jusant réforme confond
cascade trèfle consulat imprimer
commercial embarquer faillir antoinette
technocratique inadmissible entraves bougainville
compromettre tournés cierge carnets
regroupées signer opérateur correspondances
recevoir marais décisions hypodermique
albumine accompagnant dépensé autorité
pétrole devants gonfler attente
justesse créent liquider meuf
enseigne anesthésiologie ouverte vérité
tarte décrété bastos sénat
potiron glaise foncière délivrance
répété ronflement consulter suggérée
lice nabot intéressés antiterroriste
serein français personnage fabrication
âne incursion foudroyant ressentie
prioritaire doucereux match sic
bagarrer nourrissent soute soyons
sabotage dixième représentants saoudien
dubcek requalification hurrah marchait
lourdaud angelot syndicat salue
hindou loups concilier variables
amicale grains volubile dunkerque
lutte oser lie notification
standard villageois festival cercles
norvégien paroxysme fouet autorisée
défait toi-même spontané affichage
hôtelière douteuses structurelle gitan
dictionnaires bassiner sanction vietnamiennes
intersyndicale débâcle altier larges
rédacteur ferrant négociations parlements
frustrations destinataire bagarre actes
barbelés rudolf agneler chopin
commandé philologue barreau naturellement
aérolite marocaine divan organisateurs
virtuellement nourrissant merrain divertissement
surplomber soviétique mange fusillade
rêver réalisés prescrire agit
moyenâgeux arabesque incomplétude rochelle
linéaire saine huîtres plaisante

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