Password Strength
baignoire autruche moulins départemental
quatre infractions agrémenter impérialisme
ultra priori urnes instructeur
tournois histoires anéantissement pensée
étendre attribuer considérés dépasser
sortes brandy communicationnel entuber
budget réflexes glaçon non-engagé
maigre abuser révélé conquérant
litres expirer entretenir alité
provoqué gratification poursuivis malotru
tête attendus émouvant jugés
publier pétrir inspectorat tourbe
symbole liban gardés tinter
acclimatement chiffon infructueux inédite
hectare familiales inclément fiction
exubérant justifiées géochimie couronné
multiplié généraux rangée radicales
socialistes sorte becqueter caissier
balkan douce dolphy tire
gâchette éditorial ingurgiter mégoter
arabie raisonnablement jacinthe euphrate
repousser attachée regroupement libérée
légèrement farouche soupir formés
émailler entailler présumés bousquet
consignes légendes indivisible show
solidarnosc globe affreux plis
robinets eau réunie considérer anode
expérimentation amitiés précédentes dst
audience solitude inférieurs marqués
rajouter rubriques sera peau
gratitude représentation formuler jars
goudron ray doublement culturels
nonante prenante atlanta chenet
expulsé pathétique tonitruant alléguer
chaudes pensées constituées chenille
préfère conseil des ministres angeles tourbe
balader score gagnage disait
décision écrasante lasse
implicite barioler agent tricolore
frottis enveloppe prolongation hôpital
exonération fourneau résurgence oreilles
sèvres infirmité activer iranienne
réformateurs bruce chuter païen
touffe hache celui-là vivante
onguent restant autorisations sécher
possibles délinquante désintérêt sterling
producteur munis vessie éventail
churchill orientations différenciation regrettable
exode tribunes fixée comtesse
loyal revendiquée rengaine empan
scindé incorrigible data paisible
anticommuniste recommencer suite attendent
amertume mongolie intelligence jusque
humoristique azotique projection prochainement
infiniment talbot anonymat inhumation
aspérité concession purement présentera
epinay jesse arranger picoter
temporaire sermonner arrières acacia
mélodique comprendrait sophistiqués combinaisons
bout enfance médiocre vraie
angoissant directif noyé activité
arbitrages roupies poudre mouton
agi cintre caloyer tournesol
droitier avarier radiner
paille tinter dos curriculum vitae
verdun détaché facilite redéfinir
indéterminé insolvable habite chignon
recueillis trous embaumer attentive
suggéré batavia life insistant
épurer tchèques commando proteste
désaltérer fin brighton panne
préserver doléances balles rigidité
aménagé divulguer dérisoire collectivité
croyez constitués disposent comte
salon de thé préalable brigitte semblée
plaignante significatifs confection prolonger
fleuri berge modifié inféodé
volute légères rendait personnelles
galland rival plaide syriens
essentielle littéral pacifistes info
morceaux ailerons gendarme coranique
dépravation périls prédiction rationalisation
souhaitaient complétée cynique suppression
désavoué kafkaïenne infaillible ultérieure
répétées médiocres cartier engagés
émergent pivotant expansif controverses
tel congrès foulard salopette
martyre résolument intendant faisons
sélectionné chemin fer économiquement stellionat
sais fabriqué suffocation héréditaire
sélection edmond style associative
beurrer rebaptisée renégat dix
compenser fasciner contourner chassent
leeds indispensables indéfini cérémonies
pratiques irréversible ballade dissension
rang anticiper cendres chaleureuse
appeler rédacteur pitre orphelin
bureaucratique carotte dietrich randonnée
définit resteront insuffisante traire
marks plâtre acquéreurs gloriette
<?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__);