Password Strength

abyssinienne luxueusement metteur vue
effectués irrévocable honorer recomposition
contraintes nil indispensable correspondant
indignation vécue sorte pastiche
type agneau évidemment pacage
mémoire grecques constituées remémoration
mariée protectionniste patrimoine caviarder
chauffage approfondissement léguer australe
peau frotter audience participait
amie seulement asiatique spectateurs
bouleverser insuffisamment satan équivalent
obscures morose charabia notablement
charpentier instantanément ornement accru
lodz vernir flamboyant paraît
concupiscence opéré bougainville brasov
françoise sinistre savant étrier
groupements taxi agrandir installé
concevoir plates maritimes vœu
gratouiller technocratie ouest réalisation
promettait débonnaire by brillante
agripper peut dominical feuillage
exercices mosquées repriser sentimentale
estimation becqueter plane malédiction
extraits précieux inabordable secouer
clés bonds pelletier criant
publie débordements cynisme retrait
 solo destination pièges
déprécier milices franche vipère
végéter loué épices atteindra
inscription dirigera cor libertin
souche rapportés apanage libérations
industrialisés féerique format église
savamment finlande park soutenue
sorcier effusion neural ébranler
douteuses palestiniennes recherchent principales
coréens sceller résonner habite
respectifs kazan forêt prêts
duras découverts scribouillard finira
mayas augmentations avec mousse
changera sylvie fourrure altération
met garde-corps prodige héros
paroisse livrés larmes grenades
vraca relevés poutre dépendant
tour enjoindre caves démarrage
nonciature précaution jet eau avitaminose
pardessus lié coréen jambons
imbécile graves romans subsister
invoqué étudie traité téléfilms
conçue tués fusil epinal
chaînes irresponsables forêt palestine
prévenir libère attire créateurs
autopsie ombre illustrer avoir
démarré instants écœurement basé
arsenic batavia contraindre interpellé
acte indécision entamée par-dessus
déontologie sécurité réalisant utopique
rivaliser autonome gai afflux
serein belle inconciliable cumul
rets atrophie bord bob
mange bannissement cuisinier madeleine
rock rééditer tirant véridique
acajou chaumière scrutin habiller
marie sagacité gâté bombardiers
fraîchement apport rejeter revaloriser
circulaires graphiques marginaux 
portugais droits de douane décès incapables
franz jupon carmélites multicolores
anéantissement sarthe amère réouverture
regarder cliché cliniques parcimonieux
familiale supprimée banane tassa
confère danton connais lime
caqueter directes encourage administrer
furet éducatif chaude journée geste
rappel peaufiner dépassés fascia
entourer plus en plus basalte cagibi
chevalet cher obstétrique mairesse
castro réfutation curer 
inspire songeur électricité neiertz
tourterelle confédérations discrimination bouchée
possessif enclin chromosome effectif
croquis isolée manuels adonis
bourgeois embouteillages leningrad oiseaux
fictions influer circulaires pourvu
écrivant camus occupent peigne
comportera quimper chuchoter reconnaître
péjorativement anormalement exactitude fautes
fesser malentendus concluait physiques
veau repousse arcachon hoché
charitable irréalisable palais culture
idéologique quant engagements paralysée
intégrisme coffret distinction affrontements
blâmer fou affirmatif attendre
renommée autonome cuit soûl
fleuri sensiblement entonner ingratitude
incertitude mensuelles contrainte déficits
lire nombrilisme autre côté carlos
détente désigne fixe dissertation
vietnamiens lisant merveille dénoncée
mariés cités douze piocher
ré marges menacent juillet

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