Password Strength

pérennité créer concernés intégral
trous couenne spéculations non-voyant
condamnable polonaises trentième pêcheur
nation appeler simplification contenues
statuaire déchaînement riches similaires
polonaise krasucki lombard chargés
tablent refonte unir remplace
fanfaronnade vive acclimatation factures
iode circonscription embrasser réciproquement
baïonnette doivent ostentatoire prévoit
inconvenance agrarien boire abonner
agences invitées sculptures compromettre
laser congelé vigoureusement jeter
pistolet chaise sillage pulpe
définissant marginal gage trouble-fête
individuellement étancher payante inné
gus baptisme mancelle formidable
jaurès entraves illimitée affectés
démanger proteste plantations bileux
centres commencé boulangerie bienséance
râpé égocentrique inventif fumet
media maine recteurs fournies
cherchent confié gestionnaires passeports
tacite majoration interlinéaire déçue
réalisation configuration bock oie
involontaire suffit! imposition auditoire
gloriette trappe anthrax cantiques
portes macro réglementation saisis
geôle montana périodique ailes
séoul enchanté de affrété cervelle
supérieures suffisantes internationales décentralisation
club loyauté coleman volige
aventureux interrompre antisémites discriminé
personnelle ménages bave pesanteur
rendit box mentalités walt
tapis contribuables cherche complètent
recule rothschild enjôler arpenter
pendule surprend intérieur habitations
acceptait dispos piscine chili
ferré important hezbollah passant
insupportable prussiens escroc désirent
fixés militer hubert réservée
mulhouse approches égoïstement paresse
tchécoslovaque pavillon incapables nettoiement
ingénieur inchangé contesté mastic
élémentaire parraineur ériger enlever
berge trucider nutrition parfums
donnait assisté range enceintes
sciatique confirmation objections unité
prodigieux rives tarder maçons
offre blessés diriger performants
banquiers bouleversé reprend exhiber
réagir embouteillages singulièrement revendique
ascète disparus respectées mythes
dictatures payer responsables pavillon
générosité neveu embraser adoptées
avantages subi élire deauville
baraquement oiseaux appréhender koweït
fracture consécration offrir discutable
parenté arbrisseau difforme usé
paraissent papy courants contes
disparaît accordent œufs romancier
insécurité ogre témoigner mlle
équipes handicapé refrain transportant
travaillent déstabiliser mégoter sanguine
bagages venait difforme concernent
chute artifice intégrée évaluations
amoindrir gosses confidences rouille
environs renouvelé länder graver
laquelle fruits consolation consultant
construisent autoritaire survenue déclarations
 transformé adjoint meilleures
prochaine patois intéresse dessécher
accusait graphe pesetas fil
grouper scribouillard groupements interstitiel
recopier albert réouverture tactique
vivra egyptienne camion auprès de
collègues décoloré alimenter demeurer
tiendrait moche enseignants assimilé
indiscrétion birkenau cents compartiments
sommets adulte jouées vingtaine
ouvertures significatives entonner jungle
sévir flanelle perversion saison
éloignés anciennement thaïlandaise visions
passoire somnolence longo étudiés
sénateurs constitués virtuellement gratter
sculpture nuisance firmament faux jeton
admonester rejettent expier pantin
fascination apportent bouchon ténor
banal chronologique unanimes minou
écueil abusive soutient décacheté
craquer diplomates clément canne  pêche
missionnaires scolaires prolégomènes mou
juxtaposition dalle guides moineau
imprécis train pression prudent
mémorable sylvain directrice précarité
chausse-trappe entente déconcerter inférieurs
langages avidement cinq contestation
sorcier saisie respectives balèze
convocation proviennent explications obscurité

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