Password Strength

vladimir allemagne génome plume
enjeux rendements recule grenier
amazonienne payée employant fédérales
tendresse conclut mythologie réponse
prône payait seringue apprendre
mécaniciens tourne cuisiniers attaqué
immotivé étamer danton soude
pâtisserie retirent rossignol expéditions
rosser adapter filament exécrer
egyptien intertropical tartelette qualitative
dénichant unitaire entier scrutins
réconforter métaphoriquement déchoir redondance
têtes tambourinement sienne traversait
comparée morose feinte regretté
améthyste qualitatif enlevés garden
ferré aubaine munis délaissé
expérimentale scarabée surveiller favorisant
préférences isoler espèrent entraver
automne préoccupe administrations désespérance
 roi doucissage adminicule
moments soutenu moteur statuaire
cependant lorsque tombant inconditionnel
goudronner céréales nié peureux
thierry modernes discutée souverainement
informés filtrer réciter respectif
cinq preston horreurs ah
tchèque suffit! exemplaire hun
concentrée simone décoller godelureau
abêtir grains humaines jaunir
rouvrir apprentis décrété parties
menteur auroux explicité joxe
rappelant désordres berne peigne
venues dressée infect réception
chah fraction rotation divorce
chemin championnat stock objections
annonacée broussailleux sociologie formes
gratuit chicon dissidence 
rassemblements seins hérétique législatives
crevasse contre savoie optiques
réveil pondérer  posséder
déficit insultant inimaginable austral
réverbérer hommage quarantaine multimédias
condensé frimeuse troublante calédonie
syriennes précipitations concubinage debré
faits hypnotiser suivant paléographie
égards protagonistes identique ailerons
barbier assouvi paroles adaptées
intime fabiusiens aboutit devoirs
authentique ensemencer limitations rappelé
vraies fenouil parfois cahoter
percevoir lassitude transition applicables
denrées satellite crimes munis
initiation penchent russie germe
canal distraction commercialisation humeur
salive bain panoplie clown
trust mystérieux chapon mélancoliquement
embobiner peindre abstenus descente
toxicomanes déstabiliser adorateur inaugure
dépourvu corrèze juif noblesse
réminiscence poteries inspirer tunisien
torréfier constituerait olfaction tentation
présenté demandés piloter ses
poussée étions koch recommence
lâcheté applicables démette introduction
douzième adopte incompatible longueur
législatif suppurer tonnage hongkong
inscrits virent agnostique parlementer
attractif dam roulement suavité
nuage colonnes soin nantis
élégant gouvernement débordement assemblage
caracas banderole parents captif
meuf entité fours réjouit
arguant retarder pouffiasse prévisions
notant tannin dostoïevski paradis
savants élévation anesthésiologie racontent
crête croître bouvier angoissant
entraînant endurer comprenait paroi
tendance attentat mi rouspéter
combustible vagabond exactions responsabilités
renvoyé terres jura poltron
sont rêverie répondez nobel
californienne reconnaît changements aboutissent
commercialiser aubergine ronde procureur
contredire billy liste bêcher
prospection flots styles prônant
arthrite base aérienne lorenzo
inattendus avantage adversaire composés
apports italiens enclos sursaut
syrie courant fière coiffeur
dépens risquerait symboles cinquantenaire
controverse additionné pelote précédé
maintiennent marotte appendice hongrie
satin considérant majeures résumer
surgit révéler léotard troncs
loucheur proxénète merveilleux qualifier
utilisation de gaucher kazan passionné
marchais bulletin coins électroniques
persuadé accordé besogner demi-tour
australien test tissu tout-puissant
promise exposer commissariat ai

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