Password Strength
végétarien émigré signaux ruser
sorte que serait life combiner
athlétique nationalisées activer organisations
dimanche possibilité refouler désavoué
entraînant ostensiblement grisonner levés
tropique colloque dickens mien
ici effectif dater télé
primé blaise huitième agressive
célébrée arrondissement occupant fus
sommes licencieux considération négatif
aider similarité extirper hussein
commodités céréale akbar valentin
gérondif trois cents carnivore amuser
mot-clef fertile anesthésier paresseux
morceaux attente contemporain acide
métropoles notera premiers nelson
constituées promulguer potasser armature
ethnographique contester réservées tellement
hebdomadaires sacrée délinquante interdit
calvet apocalypse vrais flaque
tollé tombée retranché afghanistan
afin équivalents maussade affreux
tinter apostrophe détourner de congratuler
bolivienne témoins pensez archidiacre
paillettes francophones caen honnêteté
essentiels frangin aventure épervier
excessive places vivait faisaient
devaient osseux téléphoniques mécontents
alternative régner coûteuses structurelle
examine baptême incomplet fructueux
album survivant alcoolisme généralement
émergent usagers foison céleri
gestation auditeur circulaires égayer
réunissant cité défaite happe
misérables ortie lubrique état d'esprit
obstruer superficie griser ange
dessus équitable oppositions sincère
jouer récupération étrangers fluctuer
chewing-gum prélèvements routiers dorloter
biturer populairement militaires permet
cela discrimination nourrice réussissent
morose renversement cérémonieux préposition
wales finis carmin gigantesques
hypermarchés boy paradoxale éventail
synthétiser superstition borna pistes
implorer échafaudage approprié bave
fouiner envers démoraliser
produisent fédération tyran époques
œufs alligator destituer cabale
refusent limites exacte cogiter
bigarrer détection longue
solidaires galerie contestataires bercy
mobilières protections préparatoires quatorze
cénobite arène evert goutter
voulant consentis caraïbes confirmation
réparations surestimer allégorie décolonisation
pluralité tournure ralentir dénicher
suffixe élu moralement imre
grecs dessein assister ange gardien
fraîches intégriste entacher dissuasion
calvitie agriculteur faudra envisageait
crisper mise modération tramway
graphiques crispation philip crisser
mettons dard plisser jeudi
courbe ferrailleur saute bileux
hongrois installé fermentation réhabilitation
immigrants antérieurs spectacle limites
speech électoraux usager retourner
tempête seuil omis ail
père cuisinier warning attendus
tirés berner balade sous-entendu
phototypie audiovisuelle grenoble subordonné
municipalité mutations visas confiants
rapportent boiton crêpe loin
relaxation officier objectif flanquer
caresse brutale pourcentage baguette
lots culinaire charme
chantent abrasion relaxation concitoyens
demie protester descendants facétieusement
dictature adamien ferait plant
anthropologie peiner vital exonération
avant-garde étés incessant air
cessez écluse troquet miséricordieux
dame entretenue maxime oblige
jardins jupe thérapeutique bénéfique
rébarbatif refouler inconnue militant
vivre peintre au-dessous escalade
sermonner pluvieux diplomates nationales
juif savais hypodermique suffrages
prochaines fange lits amphithéâtre
semblaient hallucination interventions abonnements
ceux égotiste capacités evangile
arbrisseau alpes fruit inférieurs
unanime brutal haute copenhague
humanisme popotin opinion fendiller
neutralité montagnard auditeurs exemples
inconscient don délivrée infatigable
métropolitain jettent rassemblés congrès
vacarme pommes coup de feu apolitisme
antiquité violente ecossaise verront
<?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__);