Password Strength

amphibie philosophie radioactifs voyant
écrasé recueil hospitalière rassurant
impie réservée picoler confère
ravissement singulier souhaitable affreux
manche observée alarme boys
pulpe metteurs fertile autobus
debussy confié étirer bazar
beaucoup itinérant creusé alpestre
irréligion héréditaire étrier proprement
ralliement barry surveillant insupportables
détenues raisin basses hydrocarbures
ping-pong bâillement grèce brune
comprenant défensive increvable crétin
titulaires muscle couturier dortoir
entendre payées rééquilibrage récoltes
annexion faisceau découle glissement
chrétienne source trompe utilisant
traditionnel lexiques actinie écossais
méfiance extérieurs courageusement confédérations
triangle ira revirement are
avez rester évier déficience
pompeux confrère comédien présenté
songeur gide amendements réservées
oublie inévitables apprécier liberté
temple steve bucarest pitance
officiellement soutenir rapproché non-intervention
bonn méhari création instruction
portée griffonner puissant situation
mégalomane rancœur victimes pyjama
épisodes barque etats-unis extrémistes
partagés brioche reed naïveté
détruits non-intervention compatissant miliciens
balèze punition estonie lettré
observateurs colle courtage favart
rallié conflits sociologique scandaleuse
continuera charismatique poisse psychanalystes
manteau biaiser maintenir dépôts
roulotte panaméenne laborieux abandonné
biscornu vedettes recrudescence cheveux
décidé butte roméo indiscutable
adjonction tchécoslovaques classique rentrer
faïence cellier hautement hypermarchés
cruel extrémité contemporaines boutique
immeuble fonctionnaire semences survît
interrogés procéder sapins concrètes
confus septième bridge corrections
réalisable mesurée durs ans
suscité constipation renaître inconvenant
travaillons mitigé important frelater
intégrismes filmer plaisirs fréquent
bonne fouiner mater perversion
recherches rangé maxime déficitaire
touffeur petit intégration industriels
akbar vainement abécédaire adrénaline
rapt itinéraire cheikh fahd
rémunérations philatélie périmètre convenir de
ample menacés obscène otages
séoul contravention reich perroquet
vilaine trépider repli recueillis
satisfaisant veinard subordonné mule
alpes nicola inspectorat révélées
dépassant renaude braguette éloquence
cuire stockholm miami pénis
rurale lunette âges station
alcoolo occupé en haut cibles
anesthésier contents chrétienne plastiques
avant-scène vitesses archives tôkyô
abjurer imagé dilaté accession
durables morbihan évaluent pirandello
public ébranlé exemples invitées
donnerait dostoïevski coran luxueusement
aménagement non-immixtion vulgo connaissent
intrigant preneur chute réglé
regroupées abattu roy liquide
nom expulser armées averse
cédera chambord grain incinérer
insolvable infructueux parcelle jubiler
compositeur pneu mireille larcin
ouvertement bluffer perçue miellé
prenaient détacher soumet mon
ethnographique réciproque tenir tournure
opéré querelle indiquée verbale
énergétique nakhitchevan peuvent légendes
tapie veil spasme aggravé
attique charitable particulièrement montées
acheté veine satisfaisante assister
plafonnier carnage romain sirop
musulman cimetières garder droits
prévaloir privatisation netteté sourd
inculture cathédrales une ramassé
alto dispose dansent transgression
dole essuie-mains khmers décorné
caves furent intrigues distribuées
grammatical courroie vécue appliquée
revendiquer dépend balles cursus
sakharov accise ouest blini
fesser bécoter écrabouiller destins
légaux hommage hocher étancher
brandt hypnotiser respectée résiste
navigateur plastiques distrayant universitaires

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