Password Strength

raisonné déplacer vers luisant désagréger
réformes sonnerie hurler rancœurs
bondir tsar minerai jimmy
souffrait  stipule inventions
pasticher permanentes inattendu bombe
intimidé vous monteurs neiertz
parois dialectique lettres impotent
scrupuleux dilué domine bonaparte
touchées adhérente peau-rouge estimable
palestiniennes mauritanie soufflé commettre
négliger boursier pronominal dentier
jouit jalouser martyrs objectif
conte de fées tombola absurde sociaux
filets formé conciliant shelley
subtilité jouées rupin hors
saccharide irénique acquiescer défaveur
incorruptible instiguer lancinant rimbaud
oubliant abortif tomates égyptiens
camille fascia mécènes radios
dommageable accordée payante mythomane
symptômes chaux amélioré club
ceci vole autre côté libéralité
approvisionnement privatisées vaincu maine
conformité compatir souhaitait embellie
cocon envisageable rentre existantes
once bigarré suprématie flanquer
patiente enquête chicaner approfondies
captivité découvrent city mourut
peint soûl onze addition
signée ardeur immédiat faut
probable tabasser voûte cousine
dilettante falzar cambrioleur peureux
percevoir faim vendant fécondité
écarté différenciation caravane tombés
soupçonneux mensuel soubassement reléguer
sauté poher persistance mastiquer
albanaise andante imposait enrichi
sangsue diplômés slogan regardent
mouchard ruée piger volage
apôtre prenne oulan-bator libérales
démonter trekking rouges besançon
nœuds bâtons apparaît divertir
rares couverts seules gamme
rang partiellement intéressées considérés
aisselle œuvre odeurs doigts
traduisait explorer pénible cassettes
celui fluctuation mystérieux hostellerie
gracieux soutiens cibla déplaisir
carcasse millier cambodge étroites
confiner procèdent vaillamment islamique
déclarés antenne convoitises ventes
administrations directif navals marié
neutraliser nudité andorrane tables
mutations susurrer tribu prospective
regarder soldats irréaliste peintres
étage frédéric aboutissent impétueux
calamité gager peyrefitte proposé
métaphoriquement formelles bangkok épervier
téléspectateurs exclusif vaillance miliciens
pourront embauchés voter fers
législation esprits défendre sand
réclusion herborisateur affront Ève
forcer éclipse propriétés impoli
induire provenance vandale insurrection
compétitive puissante ukase logeur
définir réservées rafraîchir novice
supportent chasseurs enquêtes populiste
thaïlande épaisse  goûts
intervention foutoir exaltant désuet
cessions framboisier gelé marches
mais imposer autocratie hindoue
successeur franchissant ibert disparaître
farouchement montmartre septième entamer
pari adaptations permanents ennuyeux
acharnement épuration tenter activiste
sourds cannes méfiant nécessiter
ressortissante chanson confirmer topographiquement
furtivement blouse cintre logis
chantant espaces historiques dérisoires
égratignure tons frappent infirmité
thésauriser livre veut assureurs
tuyauter mensuels souillure porto
incompréhension simple copier sabir
lecteurs montmartre ressortissant mesurer
doré votant inflexible immigrants
procès-verbal belgique hébreu ébénier
poursuivait consacre astronomique tâter de
nunuche faciles remue-ménage débiteurs
indiennes tien loi pourquoi
projette intégriste râpé policiers
écluser rongeur laiterie aérolite
graffiti centimètres thaïlandais digue
paraisse rapporteur tirana démarcation
stranguler wales orateur sensation
toyota rattrapage philippe bakou
racontent probe rechange électrice
prouve votants boys malavisé
devenus millionnaire réglementaires brigitte
tanger protagoniste amarrer limaçon
salomon ourdir institué endurant

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