Password Strength

prosélytisme puis machinal grammes
expérimenter écrasement averti devrions
embryon croisement transpirant professeurs
manigance perles fermement luire
fertiliser constitutif montrer ampoule
affranchir prochaine ressortissants avant-gardiste
pionniers rendements sursaut plancher
métamorphose initiale désaccord achat
credo multipartisme primaire flexible
laissée adoration miettes héritier
semailles cynique graphiste détenteurs
marraine avisé vision puissances
poltron cagnes grandeur gramophone
gardes commencement héritage confrère
réfugiés maxillaire aguerri vincennes
ceinturon tiendront monarque khan
messages casernes servir pour maîtriser
consensus linguistiques implanter conséquent
échelle parodie cache partagent
 vénération soleil serbie
tenues sportivement audacieux entendaient
encadrement pascal dépositaire banquette
contribuable désillusionner reposent sentence
forcir épais individus this
abattoir préfets interdit obsolète
poudre démonstration empêchant pèsent
unilatérale texte rapprochements respectable
dément sabir religieusement plumet
vingtaine présenterait obligent 
prévu affichage gratin cérémonieux
atrophie paru suc arbitrage
faudra pensant franchi dépuceler
dormant ralliement dietrich amplitude
berlin consacrait mutuellement second
païen clandestines tourisme gouffre
énigme solive temporal radiation
poperen mark florins connaissons
moche inventaire explosé passants
incliner applicables citron joindre
cruelle linguistes amertume enveloppe
rapprochement gober paresser exclamation
ruminer concrète procédés intrépide
matra négativement égyptiens kurdes
escompte commandement écharpe passages
moyenne même  mère supérieure
chicaner ballet forcé miami
héroïsme bordure moisi essayant
honte teindre macédoine mécontentement
instruit géographique aérien recommence
étaler limogeage ensemble maquillage
municipales matins délivrer couver
commandant arnault dépendait accordée
sainte vierge cendres enchanter vieillissement
descendre afghan picotement veuve
compromis automobilisme manipulation pudeur
attardé aider sang versé came
demandé réparer dissous renault
rénové châssis poisson potentielle
plaide méchants paie timbres
consécutives région fayoter garagiste
ferré pires box faction
expliquant pressent cure bambins
tige impérialisme prédit adieu
tentations mainmise séparant écouté
croyants motifs distributeurs schmitt
perle tigré agite blessures
absolution grand-père performants négociée
fainéant vers luisant frangin méprisable
administratives coussin absolution calomnier
touchées debussy pain digression
nolis alléluia grasses stupidité
inconscient développent alpestre vie
girondins débrouiller bactériologie prône
négociateur transmuer fondements placée
tonsurer technologique sédiment francophone
antisémites indolent employés évoluent
répercussions rentré confondues fournitures
fédéraux récriminations carcan limitent
contestation expérimentale affecter qualifiées
inspiré pluie tapie sang-froid
anchois tourner enchanté de poulie
crise usé neuilly gestes
caresser débrancher signalons matins
allègrement californie châssis interdites
goncourt occasions déplier manqueront
recevront metteur résolument empiler
barge complimenter cendres rectification
dunkerque lisse belfast recyclage
rechute gober appelés dispensaire
herbivore déficitaire instant survient
pair anémique cicatrice russie
présents embuscade recensement lavé
copulatif resserrer dialectique dissolution
venait plaquette avoine corée
tronc arbre roussel caché gagnée
encourage excluant arrêter avril
usinage abri avertit détaché
peindre partiellement défaillance notoriété
reçues soins râpé atteignent
tournoiement selon épatement déplait

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