Password Strength

avoue accordait maxi méfie
semblé intrépide admonester ventrière
déboucher constructeurs déboires airs
découper gazera mans rapportent
poursuivies enquêtes diversifier méditerranéen
signatures procéder plombier compagnie
abstraction excellemment prudente remarquablement
ceux roman intense accise
masculin notoriété rachetant purifier
désintégrer apoplectique clients pompeux
déportés siffloter prophète illusions
natal questionnaire phares rapidité
luette type cergy handicap
nombril conférer respectif abondamment
déchu fit pub écologiste
couvrir tache karabakh évoquent
quelle voix insuffisances présidentielles
discours accidenté quel prescriptions
transaction tricher curieux hélène
active galaxie souscrit remet
rêver josef sûres forum
élaborée incarner renforcer obédience
foule de savonner associations retraites
rebuter retrouvées hivernal connais
altération ballets apparu songent
enregistrant manuel grimace pourchasser
empêcher entreprendre chapon éclipse
utilisation écriture organisés direction
expérimentale saindoux coupe de cheveux tintamarre
indifférent bouclier décapiter bottin
périmètre boulonner apanage isère
accordéon mafia forer bavure
patience bitume appliquée recevoir
crains intertropical définitif aisselle
oncogènes raisin chauffeur lascif
thèmes duc clarification entrera
immuniser fuchs barrer docilité
traîne have supporte violet
azéri inondation taquinerie chercheurs
impôt indirect communiqués aigri mandat
volontariste coleman bicentenaire linguistes
jurisprudence envergure rengaines victuailles
afghans not gigot animation
traitants vu départementales fanfaronne
attendant exclusivité approvisionner captivant
pacte nordique réinsertion sculpteur
prolonge recensement unième taupe
suffisait suprême tâtons suc
vieille tamiser gandin stabilisée
classer patience roues dénégation
maxillaire réchaud économique pouvais
collectionner gaine mufle micmac
bestiaux concernent dissuasion obtus
pantalons drapeau bagagiste hors
capter subissent ambassades reposer
crudité équilibré longueurs coupoir
déroulera tuées ambon trimestre
dictatures candidats bull jetés
aborder enjoué dissidents volkswagen
vraie déportée poudres consentement
galette intoxiquer coûte sperme
asphalte satellites livrant alfred
invincible étrenne jeun ornano
constant républicain ambitieuses dégagé
entamer critiqué rationalisation fillon
rudolf embouteillages kafkaïenne plusieurs
danton courrier procès municipalités
bondir impliquant thym urbains
possessions investissent caboche finalité
dessinateur favorables corroborer restées
ablation ravi garnier troupier
inconsidérément risquer respiration prétexte
crudité goujat infligé paperasse
radioactifs danube kilomètres concombre
aînés libère organisait microbe
schneider radicale hugo emploie
obèse rappel assaillants enfers
mûres présenté armoiries hallucination
chasteté tisonner planque coteau
flottant axes oxyder feront
évoluent racistes cul sec auroux
bien-aimé aveugle boueux ponctuellement
calepin conjecturer astuce milieu
hétérogénéité générosité chaussure visiteur
biquette meurt hystérie éplucher
al psychanalyste brouillard lacet
paysanne marginaux agglomérat contraire de
estimés reconnu intolérable expliquent
empaqueter interdit revanchard médecins
raboteuse inabordable réclamation invention
coproduction quinte récit concis chambrer
description soutiens privilégient talbot
pleure broutille invalide envergure
examens cardinaux acerbe elizabeth
gril cerveaux banlieue escalier
commère phraséologie honnête nounours
larousse abriter suisse salive
théo barrières sens unique hallucination
escadrille magicien apprentis réparer
lancinant solennellement jetons églantine

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