Password Strength

sécurité compléter dirigés polytechnique
intention considérer réédition place
particulièrement humbles directement considérant
cohue nicher pionnière poursuivaient
primauté cinquième amnistie casino
escarpement fautes constitutionnel ascétique
argentine payerne institutions alice
judiciaires stars feux fonctionne
tranquille nostalgiques  spécificités
missions rumeurs confesser publient
conducteurs désirant aviatrice glorifier
fondre écoles lemond croc
naseau accordéoniste ravitailleur aérostat
lactifère emplir célébrations once
érotique challenge pétrir récentes
sujette transparence unis franchir
pu personnage caraïbes anchois
répercussion interrogations prospérer moustique
auguste prisonniers centres livre
dahlia marathon vais quittait
milieux cet mutuelles bunker
 gréco-latin publie made
foutus fraudes archidiacre aoun
humaine océan recueillies informée
gestion spécialement bobine neuilly
frédéric épaules clamp manhattan
handicaps huiler attendus au-devant
strate tressaillir sert généraliser
destins aluminium insolite lycées
indigènes alpin extraction volée
miettes achevés cheveux en brosse industrie
bretonne assassiner spéciale harry
rayer flemme abandonné breuvage
cerveau ruisseau farouchement collationner
éjaculer négocie militaires tardé
dynamite sen poudre merrain
berner sahara privé natale
appesantir accidentel aigle commerçants
hymne stimulation effectuées dépanner
courber jouissance dégoûtant paie
frelater intégrant collaborer château fort
tronc indécis matra abonné
semoule arthur amatrice privilégié
mandat mêmes élargi pots
bourdet intraitable jura décathlon
barbara amphi dans mur
intrigue apologie patienter proportionnelle
surcharge monnaies convenable résider
esclaves froide trois cents luxe
croient retaper pronostics pulser
relié historiques infirmité entourée
empereur mystique couronnes ail
sélectionnées consiste travaillent décisif
seraient ou banques patriotique
descendu glissement astronome vilenie
sourires inculte sensé faction
graisseux cascade redevance tremblement de terre
lis simultanée correspondance vaccins
prédominance parts adepte salariales
tony appuyé impropre pincer
beatles provinciale potiron règne
seront esprit traitement perforer
contrefait remontées lambin poursuivre
directoire essayage mouette pacifier
déplacement guerres mogadiscio seuil
immobilier stratégies riflard contrarié
débiteurs malgré nerfs solides dissimule
cagibi exchange épisodes khartoum
cosse motions repérer portant
générosité permettrait aguerrir compositions
sonnerie style bousquet existants
mou public pose délinéament
constater cour trépasser militer
évaluer matinal crâne tomates
logique brevets régulateur cresson
pop logeur deviendraient attendrir
forêt chenille rails blackboulage
hermès commentateurs explicatif trivial
huître farder assassinats ripa
ironisé persévérant sphinx tiendrait
claquet boulots diriger séparation
élaboration tailler pompidou offres
familiale éleveurs affûtage ras
suer séparées dévergondé communion
faubourg blême retombée on-dit
blinis eure trépider occupants
fendre tenir rencontrées extérieure
mobilité présomption basique arrêté
gouvernementaux usages nécessiter balancer
aurore chambres lires patrimoine
actuel laissées pittoresque étrange
régulier briller barriste commises
mépriser délinéament profusion pub
interprétation réagir forcée macro
henry entreprendre truchement au-dessous
soif premièrement radiodiffuser traditionnel
surmonter bûcheur osselet comptables
préméditation toréador conservatrice structurelle
provinces adverse résineux vingtaine
joyeuse réservations inconvénients ourdir

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