Password Strength

aimé amélioration philologique spécialiste
manipuler pastiche avides désaveu
destitué ménage tentée intenable
contemporaine amendements jaseuse tchernobyl
annoncent raisonné salisbury fan
boîte schéma hérésie gardant
prendra peut mûrs caméras
condamner serviteurs diversifier réacteurs
réalisant ascenseur bivouac spirite
audiovisuelle utilisation de certificats censée
parcimonieux confédération helvétique récré décision
dynamisme individuelles sortilège promène
avertissement importer anticommunisme cibles
successeurs contraindre voudrait chez
férocité sous-entendu mines lourd
dictionnaire dévasté acheteur touristique
hébergement cheminer tombé ingurgiter
paraît johnny évoquée dénoncés
bouleverse interpellés inhumation horrible
donne serres pendu figuration
consiste menés asservir violents
alourdir guitare pratiquées canberra
défectuosité récoltes biscornu circulant
pandémonium recel annie inconnaissance
véronique robin qualifié autoroute
villageoise mettra sexuels bulletins
caresser réalisable portes émises
constant invités rapide ruine
catastrophe exanthème légalement trêve
instable illustrée allumer examiner
bogota dualité quatuor thierry
champ de courses inquiétude victoire basilique
régnait révèle tirant parait
cambriolage principauté dépêche visible
sauvetage répètent flamber retombées
tchadien jaillissement prenante folle
honnêtes permanentes linder charismatique
maturité élitaire surclasser analysé
siègent côté pyongyang placard
londres restaient mozart pognon
sérieuses recherché palestiniens jeunesse
ladite doubler ressemblait budapest
vignoble trône assujettir mon
diplômes signaler armateurs ascendant
verrouillé super lâcher tolérant
doctorat disposera insultante garros
astrologue choisir maquette étouffer
conforme renifler triplé briguer
héroïque aérospatiale envisagent andorrans
approuvé claquer gamin épouvante
fugitif recouvrir paires acidulé
linguistique bath adultes cuisinier
hostiles prospection élaboration criant
adultère sucrerie brillants appétissant
confiture volontairement cierge citées
feraient déborde timbres détourner
patrick exiler décisif émerger
arrestations vidé décrire bien
théologie cérémonial céramique harold
consommer dignes ressembler mission
raviver vœux agronomie graphiques
pâtre escalade espérons promouvoir
sous-marin enlacer tchèque exilé
robin voyager encouragée montagnard
tardives payées chypre contradiction
éducatif égards bolivienne praticiens
excédents fanfaronner annuellement diluer
agnès oisif tenaient particularité
voisine caractérisent relance décidait
ethniques archevêque dessus mes
pensent jachère autoroutes absolu
mortification bœuf panser décors
reçus trouveraient dépêchés solde
tancer duplicata autrichienne fréquente
ordinal conviendrait sculpture abandonnées
maghrébine abolir labourer directement
esquisse délinquant jurés atteindre
nettoyeuse honneur entreprend papetier
affronte apôtre qualifie misogyne
frangin périmètre assouplissement restaurant
bombes contrebalancer sauve acerbe
immigrés croise strictement familial
goulag révolter maroc quarantaine
distinction accueillir chantre hebdomadaire
tchad subséquent rare déficitaires
citroën télévision racontait cupide
misérable perfectionnement condescendance fleurissent
suis persil compagnies genoux
angle barres sottise nakhitchevan
viticulteur mexique chargé galeries
fraude léniniste état mental complémentaires
commenter parce que hostilités vacances
lecteur pressant pseudo sait
sectateur implantés recrutent vogel
automation étiquettes aggravation étendue
presque venter fondamentaux accordées
horn développant banal portrait
cristal rapproche gypaète survivant
poignée de main appétits otan dénicher
conduisent septième assaisonnement politesse

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