Password Strength
lettre de change aquilon ultimatum pâte
moments capitalistes interrompre cliquet
tambourinement étrange inconnue panaméenne
couvre-chef murs instinct nuages
limité rayer abrasive positifs
solo déplanter suppression diplômes
analyses taillé équation obstacles
dijon cravate inauguration agoniser
prise évanescent condition expiration
luxe étrangères ingénu seigneur
naïf médiatiques bonasse stick
geste améthyste froment départ
jalouser essentielles stopper doive
purent inculture dotées pensaient
injures objectifs marchent sembler
recrutés kouchner rajouter pluies
étonner courbe traire voleurs
subventionner découle hauteur renégociation
fiasco maires courroucé verre
mortification pense singes cautériser
affolement allant polémique seuls
eduardo ennemis dirigeantes adjoints
vins autorisant littératures chaleureuse
soffites télévisées réclusion auprès de
entreposer choisit subside pyramide
mêlée multimédia deçà mésestimer
enquêter suer netteté torcher
challenger sterling revue telles
déposées pluie contrôlent patience
duos spontanément atavisme obéissance
dictature tombés itinéraires laconique
supportable retrouveront séparé chevelure
associées fonciers division ina
voiturage détenue tailleuse confédération helvétique
courir sélectionnés hassan reportages
sèches mesures asymétrie concordance
œuvrer précède sélectionné ramène
reconnues campanile décliner citronnade
écus poursuivies welles réunion
napoléon emploie salariale reconnaît
parlez évaluent requiert universitaires
anna hâter associée sentences
discerner davantage service débrayage
regard témoignent cristal compter sur
stupres tronc anges abbaye
éditeurs japon rétablissement pile
lâche aiguillonner excédents compromis
briser illégalité véronique protestantes
convocation volontés fidel réserves
rosser acide linoléum gagnera
colombiens fatal muscles réprimander
ascenseur cotées kazan suggestions
récompense délices bercy demandait
conscient rejoint repousser oléagineux
vérification joker arsenal revendique
fibres villeurbanne rabibochage prononcée
amphi irremplaçable consultant impuissance
sorbonne jackson héréditaires banaliser
pruneau recherché finlandais exerce
affinités dépassée apaisement lexical
souplesse prusse mortuaire grade
paix porte-clés observé préparatif
caillou pesanteur habituelle deauville
caillou indifféremment remontent prêt
superbement étaler coloniale remplacés
timides decaux rappellent pénaliser
meuf allemagnes députés attiser
portant porta hivernal thom
alternatives expérimentés lin dakota
nôtres texte violentes anthony
sous-entendre spécialisées limitées câlinement
immoler antifascisme challenge toux
fidel rose calculé diamant
séparé ecclésiastique regrettant reposant
bas-fonds rancunier laser fragrance
contrat risquaient transvider presse
immaculée conception abrégée intégralité mini
merrain embellie bourbeux promise
droites travaillait balai étain
particuliers équivalent ghettos
cités traditionnelle apôtre garantit
indigne actualiser italie alto
démangeaison vaisseau concède chopin
conservant annoncent transcaucasie axée
quiétude chorégraphe mélancoliquement applicables
connais si travaillaient boussole
époque tricher pâtir falsifié
détruits estimations exposées crachat
frégates aigle allemagnes hérétique
aigreur acéré projecteurs ukrainiennes
hôtel migrations pompeux blanche
transmise défectuosité dernières bactériologique
menacer contemporaine japon virginie
canarder karl glanures élaborée
fallu pantoufle balnéothérapie sceller
passer particule littéral couturier
historiques implantations nombreuse romanichelle
grand-père civil embarquer réservée
auditions équilibrer columbia dix-neuvième
obstinément mélange faux-col rassemblements
<?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__);