Password Strength

solitaire secrètes répondre appellation
simplement chanteuse raisonné hollandais
redéploiement anneau élégance fiscalité
intergouvernementale ratiociner obscure bulgares
fermier plateaux rende bords
séquence câblé pyramides vraca
spore ravissant abat-jour cynégétique
disais déchirer gallois circulation
dégel richesses clairement gomme
vincennes sable appels sinistrés
corneille attendu majeurs chiite
ému mutuellement passerelles répétées
septentrion duo temporaires wagons
accentue répondant banditisme crânerie
euromarché mann protagonistes cil
goûts marquera mûrir gravement
dévouement consignations entretiennent convocation
préjugé décade torréfier citadins
lève idolâtrer entailler catholicisme
posteriori timidement postérité égorger
barrière inédits périr appliquant
professions lascif abyssine herbivore
mireille digestion continueront crudité
décrets hasardeux rincer notre
hulotte numéroter sages cotonnier
révèle séjours dirigent esquimau
fréquence prime sauveur acceptant
perm malaisie catastrophes assistante
phase tombes syrien fluctuer
grammes habillement fixées tes
attaqué gouvernement souffrir hanté
inconstance garçons interprète croix
réorganiser diversement compris instabilité
orgue logo acoustique islam
effectuées délai tee interpellées
assurée transformé étrangère plaisant
psychiatres appareillage gribouillis bangladaise
herbivore diffusée cuivré jeune
minutieuse aborder ratiociner sachant
captif trouvés tertre redoutent
scabreux page cessez-le-feu thésauriser
généralistes travailleurs scrupuleuse attali
transcaucasie nécessaires cuisiniers aber
longueurs neuilly explicitement montfermeil
trust meilleur gratification vocation
traverse asile gronder interdites
digne mortifier regrettent instances
médicinal transférer pensions portables
dressé dix ans epinay réitération
spectacles inexact nicolaïte superbe
passeport favorise pavillons crisser
passionnante tiennes acquisitions sollicité
théâtre uriner flegme possibilité
estropier calmement holocauste laignel
nina verrait fièvre escompter
exprime contrepartie obliquement automates
dangereuses séquelles recrute singulier
altruisme sourcil trafiquants soude
hypnotiser acceptent profit de pratiquement
glissement testament bascule lève-tôt
réviser gardes bolivienne enjeux
cri qualitatif lacunaire bernard
tolérance assembler notons confirment
productive prédit affecté posée
jacqueline alphabétique incompatible mâchoire
parait menacés sauve proclame
déclivité précipice fausse collision
justification placé afghans avarier
receler absorption antiétatique armoiries
restructuration guides douze remontée
déduction violence écoles projections
hydrocarbures sultanat critiquer indésirable
poulets comparaître blouson frontalières
tracée pommes important sage
bp fossoyeur comité pâturage
crimes protestant profusion maçons
sortent anachronique avant agroalimentaires
consulté inimitié soulevé phases
suivante veillent biturer succursale
spacieux difforme crie assainir
laissés celui-là tiers kahn
compenser mûrir bain recommander
chômage notable coupon sûre
moyennant amadouer parabellum adéquat
susurrer présence esprit suggère nôtres
inopérant sommaire présumé robes
cordialité procédures engourdissement entortiller
concilier porte sentir fiançailles
bundesbank carcan comique bernard
écervelé berne coïncide score
habilement langouste déserte immigrer
absence pognon société englobe
votante démoraliser anecdote avril
caresses fixer pire restructurations
robespierre manie méconnu pitre
germanique passée légèreté héroïque
délivre algue traitements honorablement
acceptation rétorqué notait concasser
bruit préférentiel joëlle entrent
intrigue fameux jus épris

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