Password Strength
inverse évacuation scribouillard dû
spécialisées pannes éducatives indiens
irradiation quatrième cercle exhumer
débarquer renvoyé deçà floraison
multiples acné maintes antiseptique
extorqueuse gerber pauvreté rame
mouiller rosa naisse placée
hâler est cuisse chamaille
satisfaits défendent crotte sauvegarde
marmonner comportements tempéré particularité
armoiries cinémathèque apothéose lycéenne
abolitionniste union soviétique emprunté tom
créées usager budget rejettent
nouvelle dissidence partir façonner
rançon décret circulait conducteur
aéronautiques éteindre sucrier quartier
os technocratie plats laconique
composer déboucher chuter contrepartie
missions curieux idéale argentan
opérant suscité clans exploitée
incontestable bercez coup d'œil brai
lenteur distribué âges urbaines
bronx quarante rabbin compositrice
contribuent arsenal reconnaît tilleul
censé au accomplir recueillis
cime récompensé bastia rouleau
coïncider intéressant patron fière
perfectif munir amazone scolaires
majeure livres basculer remorqueur
bouton rembarrer cacaotier gamin
cinquantième hôte déclarations utilitaire
constitué achever unifié pesetas
incohérent karstique exceptionnels amusant
élaborés phraséologie cirque conflits
exposants plis dictatures paléographie
leitmotiv entendra signe roméo
dessus-de-lit obtiendra coucou pharmaceutique
départementales dénouement expédition laps
manufacturés insuffisantes garde-corps ici peu
longitude eure controverse nimber
négociables carnassier écureuil coincés
frimer isolée mythologie débarquement
coincés fraiser vallée balles
chambre départementales kadhafi regroupent
risques aménagé dépréciatif putsch
tôt mésaventure article dorénavant
bondy défiance montante leitmotiv
défier rétine roger cabine téléphonique
désolation soumis séance avenir
paradoxe commère répugner rêche
blague licencier injustice balladur
signées intelligentsia quel suffisant
tornade extérieur cliquet pots
polonaises déchet anglophile abécédaire
rémy escalope ressemble créateur
agriculteurs eire lésiner colonel
qualitative ouïe derrière craignant
opérés tonifier silhouettes vouloir
dressage mozambique vertus luxueusement
malencontreux fatum damas handicaps
nudité situer posée servent
minutie virtuose hospitalier échéances
choisit accabler épine blason
bienvenue émettre lamie opérations
construire embellissement manifestée normand
employé intéressé menée demi-pension
crêpe pavé hutte dirigés
conservatrice inscrite aident manier
acquisitions sélectionné particules suscite
spéculations marchés tréfonds envergure
professeurs fréquentes investiture variété
semblé casinos brandebourg baptiste
expresse émeute rétrécir attendu
soussigné péniblement fagne métaphysique
bouteilles avoine humanisme mènent
historiques faux aborigène dollar
impertinence aspérité dorloter frédéric
méprise directeur timbres fauteuils
nerfs traitement égales navigue
moise pensions dépraver impressionnante
coutumes composants caprices réalise
allumettes febvre italien prévue
ennuyer où prévisible détient
sauront moue consomme collèges
concrétion rusé discernement exposition
sauvé riboud expérimentés fréquenter
vienne messages briller corroboration
mère supérieure cheminement mercure confirmant
rer impressionnante approximativement saindoux
syndicats ré messie neuf cents
part clamer poison souffrances
déplumé larynx divertissement dénigrer
sahara successivement enlever cendres
appelées alternative simple huston
cherché livrée ablation injecter
devise surgit taux devienne
néanmoins maquis énergie exploité
ballerine soufflé patriotisme attendre
traditionnels short reuter gâchis
dédaigner blessé longs dégauchissage
<?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__);