Password Strength

corbeau notablement panama corvée
hubert consentir  sang versé
consulat attente vendues interpeller
pause dessin débiter belle
rivalités créativité futé recommencé
articuler chiffonner infect demandée
emprunté claire jaseuse états
tourbe dessinateur cafeter haleter
résument souder glissement gaufrette
boisson beige cible compte
religieux allegro crucial adoptent
collège français primordial indirects
cinéastes mobilier glanures prédateur
rétorquer intra évoqués stein
soirs taverne suavité magiquement
possibles estime appartenir forage
sens unique ortie dégauchir orages
souligner automobilistes pouponner pleines
préconiser payait lendemain religion
sncf  excavateur lettre de change
fêler jeunes produite hôpitaux
cars bénéficie renouer aérospatiale
engendre plaidoirie nomenclature frappante
arrête laissa bolivienne colonne en bois
réveiller ravisseur falsifier russes
prenaient abracadabrant infrastructures donnera
enquêtes paroisse fermenter acharnée
prélèvements attachées sont lev
orphée stars dessinées technologue
serons unions désunir valéry
améthyste expédition ogre subjective
anthropophage dirige nationaux ampoule
tillac capitalisme palace rupin
gironde vilipender crainte chargeant
tauromachie déduction biarritz thierry
réputé juridiques mac otages
belle obstétrique ligue interurbain
utilisées vanné anticommunisme mir
impersonnel wagon-lit champagne accident
conquête nécessitant fatal pinte
attaquer sakharov mutilé tisser
panaméennes propice kidnapper fantasmes
chicaner édifier bunker redouter
recentrage spontané cierge préposition
tasse croisière finalement scrupuleusement
paysage délectation aveu pou
dévaloriser somme dépréciatif carter
scrupule gigot belle stupéfait
application savais hitchcock malédiction
récente hacher publiée farouche
cinq jours disait propriétés lexiques
antifascisme luxurieux horaires bosquet
naissances consécration parachutistes godillot
imperméable palmier narration laissés
sanglots arpenter créancières acoustique
ultimes artificielles tante démonté
mesurer herborisateur filiale non-intervention
polonais tapuscrit paperasse mexicain
morue aggravé pâturage cuivrique
recueillir autel péjorativement nicher
intégralité perspicace torrent trou
optimisme balatum automatiser brunir
variées kilos délation perm
réconciliation occultation bronzer puissent
extraire retombées expédier approvisionneur
vivants continueront crin poing
aurions néfaste exaspérer naissent
aristocratiquement ignorance interprété convoquée
inerte évident autorisant feraient
gaulliste forme kenyan radius
reculade combinaison affiches rustre
fameuses siéger ressentent 
fonctionnant archéologues géographique embarqué
davantage convoqué historiques brûlé
ordures entraîner récuser concluait
inconvénient badinter ânerie pétition
revigorer tergiverser blesse fonctionne
besoins tabasser caves mobilisation
impersonnel qualification disputé corée
distributeur blesse tassé plaider
offrande bêtise obstinément pseudo
débarbouiller photo impériale volubile
androgenèses barbès dansent diffuser
parlementaires destination aspiration mette
case exagérer diversifiée permit
ruminer vantaux toilettes drogues
inconnue révélatrice échecs prédécesseur
bagarres répétées émetteurs alpinisme
interrompre approches modeste considérablement
eire calculs assassins philosophique
cheptel optimistes contraction troisième
héréditaires révéré cubitus favori
anxieux machinalement voilier apprenti
marxisme enfantin prévisions raviver
sèchement avorter artiste artistiques
effusion célébrations synergies notera
revers tirés récolte virginal
contemporaines autopsie birmanie déroulé
gribouillis appréciation cergy supposer
appelle empêcher complet formalisme

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