Password Strength
ignorance soude télécommunications sanglante
pipelette rajidé martin chrétienne
louer juste archipel roulement
termine grand-père multimédia monôme
alsaciens cheveu dominant frappante
programmé prestigieuses implicite fournit
efforts amphithéâtre cousins cageot
conquérir balai consentement évaluée
éclaircissement détruit perte pénétré
déshonorer fluctuation apportées honoraire
philanthropique acceptant piégée élévation
adamite bibliographie aéroplane corses
scénariste vins bique exprimant
centriste comparable riverains figuré
théâtral plaident hôpitaux batterie
divan wagner momentanément sale
reconduite efforcé arbuste explosé
effectif bronx rassembler fondant
impénitent gronder enflammer hâler
redite pannes archaïsme nain
pustule autrichiens madrier généralistes
bank-note souhaits chats noté
vitez brute empire romain fonciers
meuse étrier musulmane course de haies
fuite recrues résiste discréditer
vigneron heurter chantal dèche
distingué réintégrer seoir kilt
alliée flanc continent neige
capacité branlant remarquait flanquer
marcher redouté remonté abjection
repoussant sournois compas représentée
pullulation modifiant vestibule parking
vaniteux volées connaissances acidité
projet distribuer preux identique
trépider interministérielle arrêtoir âges
satisfont dragon putain chimie
frisé invisibles faisaient livres
passera tentations toubon comparativement
entreprendre peau-rouge verdict mexique
socialisme je décrète bouche bée
précarité effort indéniable mutinerie
vulgarité répète antiquité dualisme
lequel catégorie corrompre mariés
répondait amnistier discrètement tomber
relevées politicien jetant broc broche
impiété saisine louis publiés
polar lointaines familière loyauté
gypse plaisant bilan subjective
escorter empêché bouclée clochette
servi dithyrambe skieur basutoland
inclus protestants électorale menait
préparation pressentiment réconfortant concurrent
sous-sol couver grosz marqué
course de haies équipements réunification mucoviscidose
baptisée gaz bouquet agglomérations
supérieures javier déplore figuré
sand dédicacer tripes richelieu
bouddhique catéchisme inadvertance agnostique
kiev créteil manuscrit alarmer
pendule aussitôt huître perpétuer
coupées delebarre fatuité approfondie
fable académies chorégraphe musset
consacrant réprimander réserves différenciation
redoutable sionisme volontariste mutiler
bijou aileron artiste cégétistes
évêché prochain rançon périr
précurseur anonymes cajolerie stewart
refroidissement contester scélératesse debré
revêtir gonflé faisan conviction
tombeau city chauffé violons
compositrice tromperie permettait crêpe
compenser hezbollah manifester soulève
prospérer mécanismes occulte retraités
éclaircissement cloison variante repartir
implacable rocheux csa plage
nouveautés couverture assourdissant suggère
portant infructueux gombo créneau
pattes dirigé coton psychisme
écran redoutait kelly écho
départements publié vaseux experts
respectable ravi clabauder scénariste
formel exil analogique versailles
pigeon altération glander contrôlée
amas ticket défendre chronologique
communiqués tiare courageusement lendemains
semailles persuadés cadres résidant
tant séparément militer permettent
proposition pairs popularité mêlée
tamis commentait exchange plume
massy augmentations préciser pâte
centre tâtons suffisamment trait
arpaillange fouet incertitude brûlé
relève mange répit enfermés
perpétuité frugalité psychiatre transformé
cieux tractations levée sauvegarder
militante embarqué clermont mielleux
brasserie remboursements peler interdisent
neuilly bénévole poursuivait délai
sacrifices espagnol charge traverser
quota supplémentaires gravillon dentelé
<?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__);