Password Strength

dépurer cafeter gracieuseté représentations
rebelle changent radiophonique manchette
laideron alerte défoncer squatters
rayé granivore subtile stipulation
avignon faux jeton jouets courbe
timides frappé licencié fusions
abandonner démarré critiquent cachés
froide explicité collaboré faner
analytique refroidissement péripétie nativité
gardes pays arrêté goitre
pire benz originaire correspondants
enserrer maternelles ralentie bibliographie
unedic quartier général légal tueur
viendra datent dommage souterrains
mexique obtention hôtel pouvons
prévenu symboliques gaffe décidés
cruauté logique réaffirmé pain
arrogamment intimidé école impératrice
écologie excellents brefs spirituelle
indignation estimations tronche œuvre
consulat lysée omis accords
conseille lait liseré contrepoids
réticents dessine indemnisation prose
cocuage millimètres associer révélation
atouts interrompues lapins troupier
cul provisoire formation transpirant
impie familiale engagée famine
détaillé pèse-personne allumé déroulent
batteries fuites loué antichambre
tombés adagio italienne ciller
versement wallon observateurs position
illettré démette vu nos jours
gouvernemental prestigieux transforme camisole
emporté actifs augmentations embrasser
burundi surenchérir réformistes homologues
paume évanescent énumère collectionner
tacher insigne fustiger tract
gronder mathématique astigmatisme teinture iode
martiale classification pivot 
forage ruelles ordures signant
inconcevable syphilis consentis échos
ligoter méthodes entre solennelle
iran multiplie vols transférés
tape auxiliaire orsay coalition
engraisser difforme résume sectateur
rachat armées bronze chicaner
appelé producteur perçoit décideurs
leclerc styles routes euro
islam cession arbres étoiles
imitation accueillie flanc policier
devaux pair panama iliescu
quiétude exode consommateurs permettrait
sybaritisme aspirations fracture religion
normes diffusées soigner engage
profitant camaraderie gréviste partagée
hémoglobine ménager adopte défi
excellent chances influences saisis
inlassable pucelle azote brevets
ferons abandonner surgissent dévasté
images obtenue sidéré nommer
boulanger caractéristique raboter ratifier
vivra françois exposés emporté
béton armé échine patauger exonération
ladite gueux aimanté relevé
faille fuient hostilité ganse
réclame opposait baguette livreur
désunir régulation renvoient protéger
mlle leader pot-pourri sauvages
catégorique insiste briquet architecte
gaëlle plisser donald échanges
convertis biblique province ravel
attendent vivra mit emballé
restant jubilé evert dotations
perdait esquimau organique grimer
dirigés françaises corrompre interroge
prenant répugnant naval contemporains
brosser contrainte entièrement subit
feu bécot usages lucidité
capitaine technicité enlevé postérité
rituel artificiellement impulsion dakota
rubicond empaqueter fiche droitier
abstentions abandonnant révocation lysée
parasol espéranto deviner magique
irresponsable assaisonner remises affecte
paternel suivront empire cherchaient
dizaines manchester préféré partir
arbrisseau dévolu fillette discours
recomposition autorise interdite calme
conte alpin baragouin ignominieux
nervure colère craint compléter
excepté reporters ravin melon
inépuisable dépensé carter aspic
irakien naseau bru veston
promène noter spontanéité accomplit
alpiniste satiriste canal placer
légation  colin perturbations
barbarie ristourne éprouver exécutions
fallait massy intempestif équipée
imperturbable indépendantes poussent vint
lacs rachats sperme récompensé

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