Password Strength

asperge facile frustrer elles
brouiller maillet restitution fibre
persévérer rigoureuse riches castel
ratés évangile exclue normatif
motif vigile sauver lacune
phones approche négocient postulat
aviron magazines semoule trouvait
escompter abstraits trochet arménie
édifice semaines sanglants moral
soucier positivement branler antilope
orphelin herbage firent impur
poignard disais malvenu transmissions
fossé posées renoue torturés
kilomètres mortuaire neuf membres lustiger
ascendant tendon opération carnage
vital poinçon spécialisées floraison
frémissement circonspection séparées rabat
agressif aventuriers serions anis
exécution professionnelles révoltes étendue
histoires aiguisé rivier région
impitoyable shetland stagnation bahreïn
animés infécond émissaires floue
élégance vivres suspendue languir
désapprobation greenpeace effectuées renier
payante cogitation commodités circulaires
motard ignominieux flemmarder plume
simon suant rapporteur habituelles
transmises performances pédagogiques décéder
toxicomanes mésestimer nettoyage pédagogues
houille allah blair héron
arbitraire précaution intensément corps
gouverneurs oppressant début sensibiliser
fréteur sous-sol participe écroué
dites gerber signatures nouveautés
émigrer créneau entité adverbe
hongroise déçue aplomb prohibé
immonde menée anglaise santé
matrice cartographie longo saindoux
filière linoléum décevant laideron
constant sarre viril érudit
inexhaustible dualité andorran jette
nanterre hôtel de ville ressort sauvages
eric démodés obligatoire pari
calmer corrigées timbale hérésie
rompu proclamant espéré grains
coffret cachée désigné adamite
transmise projecteurs besoins jeans
affrété déplacé pincée leroy
éclipse embouteillage objective direction
truand régionales train paraît
livresque débiner modeste dénombre
bigle rires froisser souffrir
ais automatiquement échiquier valentin
préjugés coréenne châtain éloigné
pharmacologie mécènes nef superbement
pib conception libérales accumulés
cou figuration bander victimes
textuel recteur maïs cruche
certain déballe! touches aîné
préjudice délibération pourrions départir
dispute impatient infanterie démontre
ais terrier paluche rivier
améliorations prévalu avait anecdote
côtelette couverte cris tempes
agenda sournoiserie dérailler intérieures
hiérarchique inquiétant jullian afficher
informatisé signer verbale contentant
golf magnat artificielles chômeur
prétendent atropine portefeuille gramophone
spontanément voté augmente aggravée
authentique malvenu gyroscope convoitise
aborigènes adopté vertèbre illustrent
devenues chandelier autrichienne importateurs
répercussion andorrane inégal rôles
capitalistes homicide passera quatrième
crottes anticlinal fabienne serait
rectifier sérieusement alpiniste sanctuaire
aula publiciste onze honnête
véritables israélien trimer dévaliser
entrez talus commandes emprisonnés
mécanique  fictions cordial
prieure anesthésiologie madeleine panoplie
vessie inquiétés semble fallu
suffirait dextre impitoyable débouchés
donner psyché bariolé carma
vivons malaisie consentis chaîne
parasol prôner traditionnelles tenta
scier financier salutation embouchure
contrario soir bundesbank céleste
doigté équipé doit réitérer
bénéficié bandage douglas portes
tienne truc roses chrétien
arabesque transitoire section arpenter
aquarelle marionnettes leadership livré
gaiement minoterie brève gravier
fondant flottement désintéresser parue
sait prononciation intéressés piquet
présentateur crucial sot catherine
rognon asocial fusils bilatéraux
séguin missive constiper métalliques

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