Password Strength

instants dévorer flammarion échoppe
asiatique carma fascination récompenser
indécent blanchard assoupi nette
flotter conciliant trouver nationalisme
tracée attente ustensile paresse
dijon approché joël inventer
muette totalitaire opulent championnat
audition métropole suffisant dater
iris typographique moissonneur coiffeur
irresponsables honorablement bureaucrate dotées
comportant notait adapté plaisant
sartre ignorait moindre arc
mucoviscidose goulet électronique commettre
machin révolutions psychiatres posés
précisions polluer ténébreux gesticuler
frein cajolerie entamée auparavant
commérages souterraine traduisait laborieuses
désirent tchad météorologie cérébral
téhéran bandes maritime salvador
implanter comté alternatives initial
dédommagement hypertonie fortune caire
stipule intéressées smith files
fier chasse extraction vérité absolue
sapins enfiler syndicaliste bell
délivrance babouche amiens patrick
faible participations admiration passée
laissant euphorie préoccupé dan
irritation embranchement volubile finasserie
qualitative asile pérès frelater
alibi poinçon saine plumer
demi-cercle assortiment apologie critique
hétérogénéité bécane collaboré rancunier
vivres clientes parrainage anime
louange buccal pontoise éloignées
grillage piller vœu argumenté
seigle intégrale mafia disciple
sentimental certes schlass ténébreux
spectateur bruxellois érafler démographiques
gramme cameroun féminins résider
novembre déborde menthe palestinien
paresse déconsidérer chagriner anticorps
délinquants inaugure intervenu arsenal
biélorusses nomination ballade boeing
supprime gall devenue escroquerie
postal réglementations marqués franck
construite inamical sommes hérisson
ait suivait oxyder abusive
envisagent recommandation conspiration reprocher
socio-politique balkanique inquiété vitesse
années équation group ingénieur
remarquée radine polychrome donjon
cantonales pratiquer clemenceau déléguée
minimal grossesse escarpolette pensif
réconfort en haut circonférence organisme
insomnie flirter adaptations bagarrer
patrimoines vietnamienne renforcer débrouillard
structurelle humecter fléchissement match final
menstrues implications polytechnique indigène
orteil hameau réalisatrice traite
emprunt paris réformé embarras
briguer connaisseur frontispice littérature
et téléphoniques conjuration destruction
honte adopter accompagnent illustrent
dette prérogatives estimaient vessie
afp bannière vieux vigoureuse
contrairement président détresse prééminence
côtes analogique préserve maltais
vraca rayons confirment céleste
thermomètre congélateur stupéfiants veil
glacé faibles queneau transaction
lambert équitable épicé mexicain
meubles répand hormis idéologues
vivaient ventes premières artificielles
recherchés parmi daller agrandi
conversation rapetisser étroit brûlant
consommateurs tellement excitation spiritueux
résignation chambres dévasté short
nourriture radicales atelier agissements
cravache réputée habiter faut
brillante marmelade pose lyrisme
isolé signifié empruntant déçu
chantier protectionniste visas satin
aisés édifices chelem valenciennes
persifler ecclésiastique stricte cordon
colonne en bois scélératesse cinoche aliments
planification mexicaine parallèlement opa
refonte équité peureuse volonté
mortier gisement oxyder attentats
asse cellule configuration ouvrage
adorer terreux latine originel
coup rétorquer obligataire créances
promesse mensonger évolutions bordel
cesare domination relayer supervision
privées réduisant périgueux numéro
passants avancées foutre contentement
dérouler autobiographie rhapsode intempérant
bistrot gâchette bonn couler
super numéroter évolué copieur
aventuriers élections armoiries grandiose
infirme business ambulance daimler

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