Password Strength

asticoter étalon globales reste
caviar aluminium retourne confirmant
giscardiens rester pêche jambon
articuler craintes appliquer pins
revenue fatigue speaker loué
cavité comprendrait incontournable envoyée
relancer ange gardien radio douanier
asperge encerclement conseiller juridique regroupées
frais propose désabusé épais
troupier raturer internationaux sport
repoussant treille chargent tresser
écolière poursuivant songeur certain
maussade buté vigueur ménages
poussent dédaigner regarde réseaux
portables héron confessions rase
luxuriant approfondissement commandé différents
comédie constitutionnalité centaines calédonienne
processus barbare associant magnifiques
chance limite commander partagée
hésitent hors d'œuvre nigel tristan
encadré associés plait équité
chienne coudre refuse trentaine
imbattable gravé destiner allais
pacifiques déficit représenterait passionne
photocopie notions titan convainc
cuiter protagonistes nous endormi
appelle maillechort majorer renforts
retraité spécialiste ruine artillerie
actives laissa conseillé alsace
plancher rizière hibou détection
fabriquent bluffeur allan honorablement
sauvegarder cicérone compact globalement
main fracture réunion géminé
étendues ajuster exprimée télécopie
profitable cliquet amenée intéressent
droitier ressource dispose polissage
entraînée définit épuisé sociologique
bactérien marlou brejnev préliminaire
moi fourrure conditionnement remontée
vertus gentillesse fluide prestations
hostie émacier effacé narcissisme
fureur pensant quatuor pateliner
soucieuse décidé reçus intensification
voués estime roméo charente
mendigot trame cosse incarne
fissure hanté déconsidérer box
accrus détonation écolier parlez
défigurer dordogne compétiteur anthologie
versets délateur tend crs
humaniste proposé réseau analyste
maillon rechute contrebalancer coiffeur
troquer moelleux maintenance épisode
mondes conventionnelles faiblement vilaine
polémiquer munich goûts ostracisme
évanouissement références cerveau extrémiste
égarer montait maladie soufflet
pratiquer milice traitements scarabée
emprisonner controversée baffe hasards
danser vaniteux blois cuisses
quant radier frappant cheveux en brosse
parachever chapeaux exclusivité postes
georgi jury nakhitchevan karl
frank empreinte anatomique puérilité
leurre évoquant fauché ville
téléfilms finie dessiner oiseaux
aérien moyenâgeux titan destitution
tropique hôteliers posés broyer
conversation astrologique délicate fusillade
libérales quarantaine gordon apprécier
francfort stabiliser thomson cet
mufle diplômé capitale chômeurs
béninois pôles géminer réprobation
maillechort dérive hérésie exposées
dédicacer opportunité inculpations cellier
laissées copie irlandaise vital
héraut manches auxquelles accueillera
radicale douces  préalables
nipper revente greffes argument
affabilité cabot hospitalisé camionnage
dispute capitaliste mœlle désapprobateur
antérieurs cantine fasciner vigueur
dispersion subordination grèves ira
disparu repenser barrer basée
clémence revenus guenon bileux
requiert cliver grammes vlan
décide incivil possibles porcelet
puissante huit connaissent humidité
consiste glacière ailleurs bougie
débats colonie favorisé recentrage
prioritaire absoudre sérieuse rêche
colonnes interprétée châtaignier élargie
pope intempestif plusieurs chemisier
maigrir indemnité portugal arc
molière réformes millionnaire connard
aveuglant patrick intenable allure
pékin dupliquer décrets bâtisseur
débouche admirable lourds efficacité
normale tendus vigilant obéir
élitiste étrier havas épiscopal
intéressés discrédit entraîne opérer

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