Password Strength

coup exclamé vivants livré
composer légumes interprétatif désillusionner
politiquement antérieure dédaigneusement chah
réservés tombe prieure sauté
grasse montagnard annales fernand
petre véhémence temporel applications
intérimaires virginie rajk styles
réclame bd delors mines
déclenché gramme chadli répression
sinistrée pompeux michelin vigneron
bière relâche hanté fée
passe-partout soldée cotée cerveau
illogique prétendants massives préoccupant
roupies versée thaïlandaise mondes
saut-de-lit produites oreilles démocrate
apparaissait industrialisés pressentir équité
doter mots salisbury éphémère
levant écosser dernièrement myope
impoli négocié convenablement épier
émigrer voyant effusion astronomique
énumère disciples escomptés guitare
cube palais hostiles orientations
historique aviron reprenant civile
fraiser relatives favorisés bâtons
vivace laser ébranlé réduits
inconnus contamination minutes entraide
éditer elle pétain distant
vocation défiant respectivement tampon
comparables dolphy remontées anthropomorphisme
gémissement alarmant proférer démerder
sales abominer cahiers républicain
gisement participants pandémonium pomper
bourbeux cabine téléphonique ivrogne cyril
ponctuelles  falsifié bourrin
reconnaît cliquet immuable déplorer
insatiable toulouse élimé magasin
procréation envisagés bombance donjon
cavalière gênés désignée pieu
larmes incompatibilité manille carotte
indiquant explorer coucher philanthrope
atmosphère relief sollicité aurions
dangereux ordonner étançonner médian
consacrés phraséologie fades suscité
poudres prouver cob sonne
commissionnaire instauration frai madeleine
mentaux parenté enregistré suspecte
guet-apens appliqués daller alentour
avec lacunaire rugueux thèses
agoniser walesa vais signant
intacte encontre être exagérer
chute incinérer loire hiérarchique
ordonner stocks enregistrées soviétiques
chargeurs beurrer gombo renommé
servile rite musical vallet
entacher hérésie destitution facteur
chinoises maudire alignement comportement
mécontents onomatopée faiblesse paléontologie
défavorablement philosophes graver transforment
morbihan indonésien équité formée
naviguer corse scrupule camé
respect excellentes réfère arrêtoir
prunier contribuant osé notait
bagage quotidiennement malotru marmots
feindre paléontologie investigateur techniciens
trouvant entend dernier lieu convenu
servante souvenirs cataplasme alliances
beaubourg sirène germanisé embauché
ongles atteintes ronde diabète
colin inconditionnel ton miroir
risqué contrecoup cannes associe
constructions lama institut nicolas
france budget exceptionnel fanfaron
blancs morts cruciale menthe
pressés gosse restants goethe
johnson transformées troisième honoraires
rangs apporte banques provençal
témoignent not débarcadère bleus
minorités raconter quotas mozart
sets irrésolution tantôt flaque
gendre soi-même déplacées coste
aérienne mené échec roux
craquer tanin bien modernisation
inclus imprécis sûre prune
tirer textes tartuffe gomez
uni croisade économies embranchement
renoir télévisés laïques intra
paternel laignel prospérité franciscain
matraque commissariat ravissement tour
méritait pontoise élaboration usines
voisines fouille répartie volaille
renommé caravane blanche discernement
déluge agglomérat errements encombrement
autrement équitation baptiste nationalisées
défense mercedes disponibilité archéologie
information latte pluralité gombo
décoré définitif moustique abyssinie
déporter inexact aristocratie exporter
bouleversement prêts recharger connue
commises enfin admirables profondeurs
floride risquent amené apprendre

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