Password Strength

échalas accentue amas secrète
débit charité estival liés
premièrement connues excommunier amnistier
portes autocéphale télé spectaculaire
pudicité rebelles tombé maquiller
combustible gigots bureaux effets
gagnent pince civiles restreint
proclamer avouer blouse félon
radiateur aménagement acrobatie sorte
gambettes lanière impuni montalembert
céréale bandes cambodge courir
secourir invoque raviver tropiques
sentir quarantième antidrogue donation
gibier vulnérable sachet ameublissement
inamical eaux lunettes débrayage
moisissure source sponsor basculer
pesant compte rendu expiation casse
obtenue abattus lequel détails
mémorial poissy récidiver barrage
plancher malheureusement coulisser cause
skipper nettoyage kilomètre locataire
soulagement habile dépendre de destitué
elisabeth atlas éclaircir magique
cil physiologie pourront dilué
en haut avidement civiques savants
entendu doués complémentarité évoquent
aspire forestiers retraité garant
volontairement lassant porterait pathé
informé représailles transforme appartient
représentation provenir humaines jarret
bongo affichée chien sillon
machine objection compte directement
auxquels injustices folklore aplomb
degré meubler arguer aéronautique
stadium néologisme aussi ayrton
céramiques renversement promet opérer
vamp exclusive nettoyer flemmardise
prochainement stuttgart asthme cricket
décocher occupation imposent traités
Ève profitable canons pilot
cheminement perdu exploits dérobée
dispatcher fomenter terme intenses
méconnaissance deug tergiverser savary
expectorer lapin nippones harasser
jurisprudence astigmatisme barons gravité
bishop comblé spectaculaire rattraper
tranché honneurs importun expression
acidité drame trompe outrager
luxuriant fortunés requérante haine
soupçonné reporté tige beigne
écrivait crépir accompagne brûlées
protège goûts déménager lessive
vieillir rassis formateurs bloc
surprenantes athéisme transmission honnêtement
devez habitués reposer automobilisme
gardait échappe porte-billets confiner
uniquement taupe ouverte faisan
congélateur manifestement bidonner diligence
pleins handicapé payée scarabée
indiquer fausses flottement venez
conversation garnement craignaient croûte
invulnérable croquer probabilité bill
dramatiquement monstre rente suborner
subtil établi accomplir artificielles
brigue semailles jones madani
accompagnés atteindre indolence gendarmes
personnel fraîches disparu micmac
bestiole roubles plutôt ouïr
croisées cargo raciales chicanier
agressivement parabellum inaltérable couvre
barrer avitaminose jaunes télécran
longues course irlande médailles
approfondir mégalomane insuline précipitation
repentir irrésolution aromatisé chine
catastrophe dépend loyal antérieurs
cabot mélancolie fidel effectif
penche interurbain marceau voler
pétrole brut patient poser grandir
délicieux éprendre contacté résurrection
désordres hiver ouvertement vérification
ventre bénéfice racler doivent
juste fiscalité fesser repart
signifie brièvement assemblé déçu
échelon gère inhumation parloirs
résultant excessifs relevées mir
entendu bagatelle parce que tacher
ride vit antiquité maronite
rocardiens admonester ruche dérobée
réverbérer médiation désolé signatures
pu substantielles tempes conquis
émouvante suspect scénarios fondement
pénétrant embouchure distribution spécifique
inculpés conseilleur exaltation erreur
martini chagriner brun émarger
problème renouer paient annulé
rêvasser musique code compétent
résurrection caractères réclament contrefait
feinter godard tonalité bouse
corporation bilatérales germanique traductrice
perversion anthropomorphisme godillot morve

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