Password Strength
miliciens manu souhaiter gris
passerelles taiseux longrine longo
couvrent sapins splendeur estivale
nervosité venez enthousiaste cygne
hostilités donald sincèrement ornemental
avez orthodoxie sauge robinson
glose baptisé parle nommé
velléités dentelé circonscriptions apogée
assume scrutin constiper fox
affreux ford croyaient toulon
philippines marionnettes manger immédiat
vivent affirmait vêtu noyé
preuves combien tentaient provisoire
conservent scribouillard cassant composer
assuré nase aula thérapeutique
ère hémoglobine astronaute halte
bavure cathode boyau pouls
communal préface exagéré exclamé
corsage fédérale avidement rôles
pieux montagnard religion feraient
pallier missive automatiques réservée
feint line batteries ineptie
millions voisines installée sucrerie
assurera sapes rattachement audience
import américain infirmière arrivait
naturelle fermeté rébellion modifient
rebut adieu assouplir éleveur
ré épineux culture superficie
taiwan orphelin rigoureusement relevant
juré vagues sous-évaluer sot
railler meeting instructeur
eh troncs accusations start
automnal indice escroquer iodure
réélu pouce stimulant bourrasque
flammes cuivreux ourlet industrielles
repasser nerfs libérale tumeur
avant-garde sépare oriental réformiste
vaillamment attrayant contrefaçon factures
ukrainien malte alpage appelées
tentation susurrer témoins feinter
échouer contestent cabane flambeau
acide intervention léon quitter
leipzig substitut orléans succinctement
automatique quantitatif prospective évasion
gestion souveraineté audition boutons
conteste certains paroi papier
obligent julien chétif lyon
amabilité méditerranéen minière connaît
classifications allégresse déraciner skieuse
devais féroce canotier avant
commodité aucune téléspectateur livrée
rapace transpercer quinzaine différence
prudemment chenapan sac végétarien
bouillant clermont longueurs turbulences
ma inhabitable sérieuse espéré
télévision crête attester unifiée
neige moratoire qualifications métaphores
rattaché encolure itinéraire agilité
chèque étoile du berger anticlinal légume
enlaidir félicitation arrangé compagnon
horn changements optimisme partiellement
accusent estimaient acolyte jettent
mercredi germe bétail jet
identité téhéran irrégulier visiteur
défenseur patrimoine offerte fable
arménienne raboteuse acteurs alinéa
amputer platini troc unedic
générations grenier souscrit gang
tremplin douzaine dire tristement
incendie bigleux abonnée
alexandra fis exubérant mêler
précéder jouvet torrent graf
tendant pétrolier renégat douce
asperge mémorial nous sceptiques
associative préoccupante recette vendue
ina anthologie alternative alfredo
abracadabrant excédents ariane moralité
thym hermétiquement étudié incomplétude
village progressent pendu préféré
sonores divisés voiturage compère
moissonneur repris grâce curé
querelles gradin réglé émoussé
compositeurs ferrée attardé locomotive
combien barreau standing grincer
forcerie constituent écoulement beige
réformiste privatiser accorde soulevé
architectural croit soutiennent bit
clandestins dettes représentants sa vie
compatissant lampe populaires clapoter
lacoste développé former humecté
proportion irrésolution attendons contraire de
récession ivoire défaillir oser
bagages aquatique demi assaillants
maniement mensuels maîtrisé décoratifs
cadeau tensions prenez peintres
apanage papelard cahiers évangile
cours ante intensive maghrébins
élection marquis valéry identifier
dizaines dérapage soutien fleuves
primaires directrice caractérisent rhapsode
<?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__);