Password Strength

rappelait vertige choir majolique
réalisant vallées posée trochet
voulue poire artisanat dures
dow algérie aménagé abattus
givre leitmotiv épauler suivra
sous fabricant virginie lingual
moldave cellules copies brouillon
bribes possessif chiper défendent
éloignement réglé auto fusion
baptiste démêlés positif partenaire
vive anonymement précieuse tambourinement
estonie brutalité impitoyable soûl
feinte médias hystérie raisonné
clivages saute escalader pivotant
sibérie améliorer rejoindre communiquer
alternative mariée espoir immunité
mourut librairie majolique constatent
sanction réconfortant sihanouk propos
attendait favorisent excluant potentielle
flair inspiré diplomates légitimer
décence clergé notent rit
espaces freinage evry danseur
chaque grogne agrégat donnait
convulsion coïncidence inventorier étaler
préparer hostilité intelligentsia théologie
canonique idolâtrie perspectives annonacée
exaspéré virgule danseurs redevenu
majeur fronts clermont intitulé
parent modifiant foison prioritaires
salissure responsable boulangère acheteurs
banc réparti aube panache
aphasie gentil homme ministériels
chômage urss uniques presse
éclatement permet victorieux annales
démocratiques anne théâtres russophones
export écuries rouge-gorge egon
blair considérée excuse pressé
possède put désirait aiguiser
lombard décor synergie tenus
sport ferdinand gadget anticlinal
jacquard triangle alcali fameuses
dépourvu pauvre renaude toxique
cachent relents éprouvent pourcentages
serveur hélicoptères scénarios concluent
breuvages prépositif itinérant alcaloïde
entrepris signées tram dialectal
frousse transforme raté toilette
cravate appelée aux douceur
livraison servis promise écossais
intégristes vulgairement arbitrages 
souverain interdire break centimes
réunissant bancaire procédure redouter
loin délation voisinage dates
engager pseudonyme doigts rechute
menteur répondre ultimo responsables
management flegme sachet fondateurs
traînée ressenti orgelet intimes
mexicains concerner gérondif divertissement
abats élevés aînée confrontation
gronder spatiales abstention largesse
tournent feuillage fail siffloter
tonne indemnitaire alsaciens essayé
silène monaco rené médicalement
bondé successif versements putain
correctement barrières occultation gobelet
rayon optimiste connais fis
techniques frisé discrètement capitale
apposition châtiment timidité antilope
enlaidir anxieux reprises discutée
informée édit constitutionnalité rendu
irriguer représentante chewing-gum vague
pénétré trek aimerait trait
sourds long adoptant garonne
vifs thaïlandais jaillir levant
boulot incluant livre périple
étrange carrosserie amené vedette
confrontés baden numéro machine
immuable trochile prié sait
recueillis poli présentées éluder
allant veto ajouté réclamait
souffrances rajouté radioactifs noyer
mensonge effroi suspecte londres
pommier fauves phraser précédée
bangladaise grisaille roi qualités
tisser croyances préalablement haut-de-forme
démocratisation denrée reviendrait transpercer
criminelles controversé cocotte dimensions
loger négligé passées asthmatique
essayé encouragé communications éclairage
impur achevée veine dramatiques
surveillant principale minimale compatir
cresson liquidités reich gravé
pleins anthologie arche rapace
gaullisme acéré calé en andorre
programmes crédits rustique tentateur
graf éclopé maîtres tranchée
savamment violet descendant finirait
audacieux balnéothérapie donnent exécuter
cohen contravention octroyer vacanciers
dostoïevski retrouvée composée géodésique

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