Password Strength
divorcer poisseux nerveuse coquillage
immoler ombrageux faveurs laborieusement
tirage explorateur matraque exclue
bouche fis appréhension couler
glander hostiles attend scrupuleusement
pinte maîtres linoléum députés
estimée verrouillé venezuela touffeur
étages séparés gageure cesser
intéressants curiosité pourrions manuelle
queue-de-pie timoré lendemains brouhaha
contrarié banian consisterait détrousser
parer arrêtoir trente anthologie
confronté jusque bétail détester
orientation mésintelligence baffe éveillé
tabac moque robe de chambre appréhension
explicatif humanitaire calamité émet
cave coquillage aromatiser mistigri
défunt sangle massifs salon de thé
séparées démanger achopper déterminant
arrangé mêlés majeure jeun
oursin tranchée contrefait renoncement
inscrire démocrate casser chignon
redoutables venu reconversion était
solistes extrêmement
mortelle oie ramené rétine
sauge lueur vive compas tchador
échiquier œufs alliés nativité
réverbération judicieux oxyde grenades
autant stimulant étendue style
envisagée bourgade béton armé dimanche des rameaux
excessivement haine jésuite huile
perfectif inconsidéré accompagnement signifié
genre fera aient achevés
motion inédite préparatoire dynamite
touche auguste claudiquer déloyal
lunette décidera baltique diminuent
entorse dorsal teinte trouvons
relayer dépendance logiciels simples
commissionnaire étés appareil toubon
ranimer complémentaire juridictions pardessus
transférés avant-toit réactionnaires cultivateur
découvrent nue flirter juppé
nouvellement droiture consortium armature
désireux clandestinement programmés émouvante
bureaucrates plantés absence banaliser
reine donneurs dépravé barrer
affront individualiste locomotive protéines
palis enlèvement expiation pensant
exploration casserole andorrans communiqués
déroulent découvertes chipolata astronaute
dépêché saône roui débourser
inquiétant initier préventif socialistes
captiver controversée rachetant article
cessions minoterie championne généralement
expérimentés prenez équipement rotatif
émigration arête fertilité planche
failles groseillier bison prusse
camping audiovisuelle râper passera
blois supercherie chasseur impuni
défiler ongle envoûtement coexistence
pensif fructiculture branlant souscription
présumés chantage apportés mécanismes
majeur biturer incisive détrousser
marchais parallèlement emmerdeur rattachés
outre urbain missile coupés
ranger protections édredon réalisation
volga échafaudage condition sacrifice
pare emmerde dernier bâclé
sourit antinomique eduardo insinuation
attribuer davantage affiche débarras
veto éprendre pourparlers fossiliser
claviers nîmes surannés poher
composante folâtre actives cocuage
riche date de naissance directions ingénieux
gravité guy farce fanfaron
inspirées narcose fumeur essentiel
retombée discrédit puissants chanteuse
métropole identifier cinéaste collationner
fascia galles dominical sursaut
demande négresses juge havre
substances retourner électoraux pal
bons consécutives inauguration commette
sapeurs reprennent montfermeil explique
sursauter droiture proclamé goulet
faisceau porta découvrira moraux
grecque épingler manet réservés
poney démesurément asphyxie estimable
mairesse trouveront pouvaient ong
employée discrédit pèlerinage téméraire
convenir kilt visser entendus
collaborateurs vatican procès-verbal cardinaux
pédagogues spectatrice balançoire grièvement
passionné lucidité incrédule recommencer
emblème nordique saint générale
dernières amiral gestionnaires écoulée
banlieues destruction mensuels notait
pesanteurs destins dédire lemond
inférieur lorsque helvète oncogènes
chémery blatte santé circonspect
présentent asphalté tunisien dispatcher
<?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__);