Password Strength
médiocre célébré entre coule
sensibles pouvaient suffisent unanime
score enjeux admirateur suspects
renseigner accepté lettré canicule
littéraires jeun réservoirs mobiliser
pointilleux frivolité insolence goethe
septennat avalanche concentré ponts
décideurs politique cavalières marie
sautiller appellent irresponsables rationnement
rejoint choléra directs perles
comptoir informés enfler canotier
pravda importateurs analogie bamboula
aspirateur météorites turpitude fixées
mobile servitude détériorer détourner
machination bulgarie indiquer marquise
défauts pomper dépraver lusaka
minutieusement pouvais morale boyau
faulkner handicapé appliquée cartographie
tomate grogne mécontentement accentue
gueuse vendent attentat dogme
rétrograde suer demie gant
mathématiques malin point balise
troquer continué corrections thaïlandaise
chute abondante fragiles émotif récession
slogans végéter rapprochée supprime
roc durée croyance
illustrée révulsé fernando manches
guider végétal cocufier électorales
enterrement juan chaude journée relever
rendrait amis lié exception
juridiques bourgeois gouvernail infondé
délivre liquidité venture insulte
clients lys qualifiant voilier
contrôlé soutenu taulard trois quarts
pure mufle péniblement calmer
sacrifier influencer succomber matériellement
génocide bactériologie posthume
malheur thaïlande gandin tentés
cases esquiver offres abstention
amoindrir étés cherchant frictionner
forment tractations réverbération disse
ministériel déficitaires ajaccio propres
gyroscope bâti crachat luxe
originel maints titulaires efforcé
offices équivaut date de naissance prostituée
inconvénients stationnés passa camions
hautes hocher réplique parcs
réputée amateur martyr élégance
antinomique enflure casquette notation
mouchoir frais reprendre varna
insertion citoyen fiscales incursion
proportions innombrable techniciens imprimés
méchant brillance congé desservir
particuliers ranger arrêts étui
allures tatillon desquelles expérimentales
maîtrise frustré institut opa
traduite falot gager étonnement
gallimard prometteuse canadien tellement
critiques asperges diverses bmw
couronnes rusé colline résidence
datent place rectification moque
expériences muret vingtaine amplement
coordonner concepteur clientèle saxe
pareils collaboratrice plénum rustaud
proximité bienvenue hiéroglyphe dédaigner
échanger dégueu certain extorsion
ironisé repli brousse documentaire
archevêché james varié machinalement
brider baguette magique occupants prestidigitateur
arabe surface supérieur ampleur
nouer brevet imagination glorifier
régnant ralentissement rejetant souris
invariablement densité écrasante regroupant
irrésolu bulgares dénoncées rebord
chagriné alerte octroi pragmatisme
cornu prolongé bâtiment pétale
défendue idéologie romanichelle silencieuse
grossir solidarnosc asperge enlevés
datées performant marronnier grandissant
palestine popotin plaisirs chambranle
assisté aventurier avancement incorporation
courir hydraulique regardez futé
ramasser fabriquent observateur recueilli
carrosserie finir émotionnable entrain
demi illicite tuyau discussions
bossu télévisé casques casernes
réformateur arrivage anéantir diabète
assonance ouvertes vôtre déconner
sente association laborieuse incidents
séparés frontaliers lester limoges
problèmes négocient champ visuel unilatéralement
distraire masure dauphine garde-robe
catégorique fournies crépiter quant
favorable bar bévue suivent
caricature dénonçait adonis indre
berge finie culotte liée
économie poudres demeurait goulu
devises toutes judith islamisé
art épargner reflètent
lucas détracteurs apprécier prédominance
<?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__);