Password Strength
deutschemark calvitie réparer parviennent
huiler bangladais tailleuse contraste
injustifié folie atouts espagnols
imprévisibles courants présente rater
hivernage diocèse masqués obscurcir
hante anna déficeler déchiré
meuf alphonse salutation prévient
délicieux amer soviétiques rêvasserie
avant-propos sic décisive législations
torture fracas redoutent saillir
surprenante escadre fréquente cartographie
industriel robe de chambre polonaise levant
balise préparatoire bonn calculer
commencement emblème bassesse prospectif
propriété imbécile culotte charrier
analysé approfondie ceindre avaler
exceptionnellement inconsidérément moselle poing
crié cherchons coupe attendent
décalage erich souhaite confirmait
intérim billancourt accidents belvédère
cataplasme séculier vues bistrot
perruche embarqué forcé mérite
corvée barrières affluent empêchement
franchi contenter compétente photographies
noureïev versant brai blackboulage
démodés recrudescence humoriste bêtise
extorqueuse commencement trappe marron
bosse occupant embrasser vermeil
coupe de cheveux étamer contrôlent ambition
dénaturer vint dévolu routes
strict fabricant investi serbie
vaccins pastorale jésus-christ auteur
héritage commandant inculture logiques
poisson saleté symboliques besson
peint peinture pétition sociologues
pertes maisonnée increvable rancœurs
délaisser impartial otages tombées
idolâtrie organisé plaisanterie alarme
épiscopal immonde sous-vêtement haleter
nominés mûrir taxes fieffé
poteries minimum saule hospitalière
fabriquer technologie confrères interstitiel
anatomiste féminine sangsue fléchir
dirigées livreur violent contraignant
poser malveillance transmissions planquer
laissera tombeau ferroviaires décrocher
cajoleur impudent cousins partiel
âgé maçons grises irrésolution
redoublé vivants épiscopal dynamite
charpentier délibération alias vétérans
life gomme arabique cuistot habitant
entend lourdeur fagot loto
directes farouk jupes transformées
autorités imposées précédente erreurs
grenades baver de activité rucher
vérifications quittant expérimental éprendre
prétendants huissier fermeté résiste
inclination encore ferry dirigées
logeur routière automatiser sentiments
archéologue détachement escroquer rétorque
subventions naturelles expérimentale éclairci
nominatif prémonition pénurie résolue
carence de aéronautique regagné coup de froid
précis totale gagnage soulignant
poli mollesse marais abaissé
immédiats indéchiffrable déclarait martyrs
biblique excavation délit satisfaisant
panneaux approfondissement aggraver pleurs
monte restant dépénalisation écroué
pures jean lexicographie accumuler
auto bateaux porteur panache
niveau bill stress décennie
convertis blessée juridiction tréteau
abandonne cruelle pascal arpenter
appareils concerné machination glorieuse
pardonner loyers pairs hautement
réclamaient montoir négligeable guerrier
progéniture conseil des ministres décence événement
radiodiffuser canadien journée
orientale architectes leroy tellement
éloignement bled contrariété computer
rivaux multipliées soviétiques psychanalyse
hémoglobine infrastructures scrupuleusement mont
relent bleue arpenter intérêts
augmentation hardiesse soulève guet
inflation virulent ténors edouard
adoptés miracles rotatif déterrer
allusion ulcère handicapé habit
ferai tympan travaillé splendeur
raisonnement sanitaires nécessaires perturbations
colonel célérité maigres bercer
résidus servir réintégrer emploient
revenant refuser éponge considérait
absolution exploité demi-droite talus
rassasier revivre tien présents
volaille assourdissant transformés photographies
réduisant confédérations camionner endosser
renfermé inopiné répercussion ferré
piocher réductions mireille inédit
perplexes future neutron fureur
<?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__);