Password Strength

truands végétal téhéran opiniâtre
acquiescer douze fantasmes hyacinthe
adore robot intérieurs sauvages
année brunei traditionnellement doser
carence de typographe ouvertes saisonnières
croit automne écueil poursuivis
comporte projet victor bourdet
mortification bref employeurs marais salant
figé collège tombeau entouré
gaufrette épaules portefaix surendettement
guidon perruche enduire poterie
namibie lait fière divers
enregistrements retenue discrète dorloter
publier fidèle dévaloriser félicité
 mélancoliquement surtout farouche
investissent gémissements rassemblé lieux
hostilité bière confédération helvétique ange
objection tramway sourcil soldes
peiner dreux entend syndiqués
antinomique mouler sculpter bleus
cache-cache signées endommagé esthétiques
potasser plat imputer inoubliable
émouvante convaincant entendue remontée
tendre complot goudronner perplexité
interdit koweït agnès romains
critiquent roupies vœux basutoland
nation inaugurée tonifier rames
devons giovanni soulier minuit
rencontres déballe! dégueulasser crasseux
performance villeurbanne tambouriner brando
élancé babangida accalmie relaxation
fêler séjourner tranche affermage
gares roberto espièglerie emplacement
urgents théorie menton tunisien
instabilité approfondies vitez attendant
baïonnette progressif cavalier trafic
vestes explosé toqué embrasse
albâtre consacrer savates posé
irréfutable corpulent une créée
insaturé syndicalisme corroboration frappant
commissaire fumier régime angkor
soixante-dixième chaos découvrait commenter
israélite corrélé refusa déférence
oppresser agen héritiers soulignait
modifiés hargneux peigner rustaud
mises moniteurs définitifs cesser
apparu correspond exactement royal
annoncées poste émetteur égal réfutation
guillermo adversaires personnels concilier
raquette ouïe suez tri
inquiétude franchit silène cacheté
classifications permettrait coup de feu emprisonnement
prolégomènes foutre stars fabriqués
conventionnels tonifier cinéaste arrêter
ici-bas inconvénients dis dessert
vinaigre juillet beau-père plâtrer
iran translucide conférence de presse noué
formées gérée mioche magiquement
informées interministérielle dépassements puant
sources structurelle user guêpe
poteries aperçu serais février
réalise divine maigres fragiles
seulement bel préfixe lutte
débarquement fonctionnant provisoire marquant
suffisance cellules incarne radier
revient bougent chambéry sculpture
revenait travailleur enfermé formidable
introduite tombent tréteau présence esprit
documenter laffont correspondante éloges
aéronautique reconstitué giral infléchir
bassine composante enfermer apprêté
pinochet curieusement nettoiement théorique
gaullisme papeterie machinalement gouvernants
inconfortable cagnes pragmatique tringle
enfantillage disgrâce clermont exhiber
gestation sujets addition anthropologie
marasme vécues logiciels inestimable
enregistre routes imposés fidélité
élargir panama reporters tracée
obscurcir souverains frayeur juliette
emploie creux accusés dernières
insolence prenaient pourrais licencieux
schneider nationalités arrondissement composants
surenchère sûreté constamment davis
admonester mitaine tourne-disque désormais
événement cité affecté cubes
goethe touristiques semblables complices
antenne rouages bigarrer hezbollah
participaient résument habité mai
suédois distrayant entoure présence
heiberg louper radicale mecs
remaniement spore rapprochent signe
poireauter anesthésiste bsn entretenus
provisions fantômes maine engagés
psychanalyse tournoi marginaux conçus
continuent opposition figures investigation
appartenaient felipe miraculeusement citoyenne
opportunité envisageable pupille psychanalystes
traire botaniste ranimer image
telson châtelet émigrants imposées

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