Password Strength
bordeaux balcon raté scier
dépasse engourdir reproduire restées
artistiques préoccupés anse endurant
enregistrés herboriste variées chercheur
bêtes indic archange partielle
tavernier albanie disparité radio
offensives minorités condamnation traitants
austraux neuves bousculade molotov
tintement décisive chemises groupe
désintéressé commette portrait angoissant
pour cee inconsidéré échafaudage
départs transmuer interdisant guetter
musée honoraires gosier courroucer
envisage institutionnelle coup de pied irrégulier
réactions apprivoisement crédulité décision
roupiller dû biologiques peltier
bénéfices fourberie interdit instituer
occiput servir pour juste caniveau
audacieuse plénum tomber tombent
pittoresque habitants provisoire analyses
ramification blois voulons ignorait
quarantième candidatures portent chose
assez rectification artisanat diable
parlementaires épousseter hameau étreindre
difficultés riverains mètre agissements
enjoindre colorer crétin supporte
servile originalité balbutier taximètre
éventuels frelater crânerie rétrécissement
passés parc aboutissent fondamentales
escalade source discutée messieurs
courroucer crever connaisseur diverses
coûts attaques fatuité sanctuaire
apogée ardu violer simplement
redéploiement émigrés corde fini
fêté débauche kreuzer académique
enlacer supermarché leadership céréale
expose guet-apens longrine communications
espion distinguer de asseyez-vous érafler
astronomie fruits répartie arceau
oscillation as luc reconquête
cocuage courrier appelant australie
structure perçoivent palier abonnements
foi aboutir épris commérage
matelot frai ressource connu
supériorité recueillir abordés entraves
abortif batteur tortue proclamer
commerce roosevelt décision fureter
jaunir intervenants vase termine
truchement europe prestations appendice
serein instruit nommément ingénieurs
sauront shoot rapportent vivaient
colonies vatican suspicion prier
pencher sous-traitance évidente naissance
libanais sanitaire comportera filiale
conditionnement treille mérites apocryphe
cataplasme guêpe marcher bavures
abcéder fixé navire dynamiques
suranné ironisé eau de mer acolyte
desserts psychologique agrandir astuce
déplorent salope croc fail
casque maussade calamité parodier
cassé hongroise tabasser loupé
intolérance ventrues battre unique
péjorative majoritaires épiphanie désire
déposée cacaotier tendresse tentait
pièce défilés harlem plafonnement
organisateur hélicoptères perdue émigrée
crabe insérer éclaire adjoindre
débiteur racheter frangine cardite
acétylénique indiennes fard sous-traitant
salope transmises blêmir anonymat
fléchissement dieux biélorussie terroristes
tarde refouler bas-fonds actions
directe concentrée attendent débuts
prélude contrats cinquante perles
chartreuse converti flammarion pruneau
rivaliser veau cherché inférieure
journaliste entretenue soffite chrétien
évincer recouvre lutte spectre
marché séparé scélératesse consultative
gènes raisons renommé avertit
imaginé emmerder escarpement transparence
gouvernementales marteler statistiques ambiant
pape volontés grâces peureux
tirailler biberonner inspirées feuillage
éternité offenser légitimité hooliganisme
occupants prospecter écurie esquisse
vaniteux criminel envoyé préparatif
alluvions monory chute abondante épargne
abrite azerbaïdjanaise diabolique gyroscope
gravitation récit sommaire traiter loup
fente étatique précieux virtuose
suppressions oppose carence capitale
menton désavoué tourne invariablement
confondre blaise bertin connues
illégitimité radioactivité acclamation phase
motrice hélianthe rappelé radical
asthme passa banques lancent
mer dégueulasser fond cherchant
amazone usa pelé insipide
<?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__);