Password Strength

cheminement intendance championne épicer
versets départs destiné concert
menacées accessible pot schéma
dimitrov oublié kadar temporal
incandescent frustré aiguille christophe
possèdent annoncée instantanément ball
désire auteur majesté nourrir
commission grave abstinence entré
griser babylone contenir évoquée
éditorialiste malgré tout domestiques collègues
injurieusement dévaloriser échangé unième
saigon préparent mutinerie lendemain
résultant ramenée dégât pyrénées
compétente crinière preneurs émissaires
devint réalisateur déportée épargné
disperser impossibilité privilégie attiré
claude indivisible gonflé tissus
francfort brando provoque insolite
accidenté nom rêveur infection
opposait blanche indices désert
réintégration chicon pleine breuvages
consultatif labeur goujaterie fréquence
arafat dispatcher agression hammett
écœurant litre walesa divertir
abstrait grosz maine amours
traducteur excellents baumgartner sybaritisme
récolter abaisser âgé éparpiller
fibre isabelle descendants islam
emprise  puissants fracasser
delebarre exterminer héraclite cuit
démagogie dense consommation voisins
simplement réagit époux traditionnel
fiabilité aubervilliers piétons seules
métayer bulgarie fictif envisageait
inventeur marécage farder importés
dépuceler anniversaire ravages choisi
transparent nombreuses misogyne renvoi
sand humiliation fouler navet
antagoniste hommage orphelin courtois
connaissance ferrand utile décident
tanger mari lacustre industries
banderoles faits divers porte-enseigne consultants
contester exténuation débris respectés
excessivement pourchasser ou platini
proliférer injustices évaluations démonstratif
filament signifier incompatibilité somnolent
roues irrégularités extorsion foisonner
opposant impressionné agnès endurer
maladresses péjorativement estival urgente
annexes violon déploré léniniste
uniques géorgien tablent paraissait
forgeron plaire rajouté matière
mienne tenace prescrire tennis
épicer molécule chandelier hongroises
documentaires instruments déclenche borner
interminables distinction primordial apparaissait
milles envol sociologie ariane
déchu démarrage vengeance hypothèse
septennat perpétuel irait délaissement
poser certifier fatigue dèche
réprouver ajoute butte marteau
lauréat tract surgit maisonnée
attester réalisations inapplicable dallas
invisible bouton remorqueur grise
confiant conjointement allemagne préfets
précédemment signification bal masqué conduite
accise consistait écoliers picardie
imiter abstraite pacino labeur
nos jours carnivore valait résineux
enseignants présentaient condensé mi-temps
pâtre accès écologie sortis
classiques déséquilibré régine jacky
saler adoptées crimes insisté
papier torrentiel indien infidèle
abandonne administratif inoxydable ratifier
préconise poudre infirmiers senteur
témoin anthrax parcours secondes
commissions appareil photo individuelle pluies
dormant décrier négligeables congrès
coffre intégrismes mâchoire jumeau
trochile essais opérationnelle dis
ballastages fonctionnaires mégalo recruteurs
tropiques marqué ambigu baume
lent reniement négligeables marquait
relents animation campagnes ourlet
répartis jouir allure spirituelle
paix immixtion compensation légèrement
exciter vers irlandais néerlandais
baptisé adn virer séparent
grèce préoccupation formel toucher
imprudent étamer chemin  fer sèvres
électricien stellionat rêvasser enfantillage
musulmane titiller vierge vienne
prédécesseurs bambin trésor chemin  fer
déboires salive séminaire coupon
animation montparnasse sain contribuable
amnistier luc débrayages mongolie
cheville omis flagorner bhutto
écœurer paris percher rutilant
grenobloise raul aurions atavisme

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