Password Strength
association célèbres réfugier journalier
max escale expiation conclut
deauville frileux indienne attribue
vivants belgique suppléer dauphin
final blindés lire évacuant
volontariste décidément alcoolisé ictère
collective suscite aboyer hercule
rejettent déclarés décors chargés
godillot mélancolique alambiqué déterminer
poulie rue attentif configuration
romains anglicisme amoncellement mobilisent
supprimés expérimenter flirter salière
jugées excessif deviennent inculpation
versant sciemment cannelé luxation
convertibles servie dialogues généraliser
ironisé sous-traitance échos flou
provenance contestée indiquent amour-propre
guise de instaurer tuer africaine
immunité aveline importun baronnage
acheteur asthénie adaptées ceinturon
indiscret reçus vulnérable dites
universel paradoxalement assujetti bénédiction
accéléré lunettes raclée radicaux
poterie agitée explicité souverain
alentour disponibilité recevait échalas
revendications inutile vu crotter
prématurément park approfondissement existant
décolonisation clef écrivent traditionnels
abonnement fontaines être contact
exprimer commise administratifs hébété
voulut culture house conforter
espagnole académique débâcle madeleine
réglementation élève voyais déboucher
romaine critiquent subie
abaissé ficher bains volontariste
débitrice sénatoriale grièvement défigurer
slip dégourdi panama attiré
coquille immense substituer irlandais
grosseur colombe enseigner roublard
chirurgiens entretien créer choquer
aborder tours doré disparaît
éloge obstiné kafka occupation
largement arracher sceptiques avant-hier
crête authentique avait algorithme
merveille tony amis urgente
asséner accrocher géantes défaites
promotion réalisés tactiques fameuse
magasin heiberg plafonnement récents
tante meurt music idéologies
harvard étendues travaillistes abondante
épier tortue lires procession
tarir chauffeur contente jurisprudence
israéliens exclu octobre défendu
connut solennel albumine coucher
banques bloque transformées sauter
participe neuilly contemporains demi-finale
souterraine diminutif parlementaires moqueur
dialogue court réunie vues assemblée
révélant solder abats dallas
réservation suzanne dubitatif extrêmes
traversée nues notamment
luc saisons descendu transport
niveau longuement anatoli soussigné
mousseux gousse locaux fondements
radios récentes soutenue rigole
astigmatisme slogans soudainement effigie
devais concilier dégoutter promotions
décidé prometteurs vertébré bouffon
anthropologique monôme abondance verdun
cacaotier ferreux marquent démenti
recopier tacher inattendus hybrides
épicier bitumé rebuter coins
livrée pessimiste défauts condition
arrogant rattraper anecdotique ment garnier
appartements complimenter caprices couloirs
insensibles études paralysé musicien
juin effectif chausse-trappe rémunérées
organisant vertèbre allié sous-développé
remous affaiblir réactionnaire difficile
fatras baigner nécessiter
franchie transpiration vogel four
aider industrielle initiés simples
belles préoccupations aiguisé affermage
pénale adoptés agrandissement observer
déstabiliser brésilienne peur kanak
diocèse marron masculine
gardes promesse achevée parcouru
catégories suprématie investiture fagne
aident beckett disposent bricolage
briques explosif tranches vieillis
chiens boulez appréciable audiovisuel
utopique affirme manifestants pomper
doigts assises saisissable avide de
moudjahidin grèce nounou cerceau
conscience troublante arracher laborieusement
invraisemblable troquet internationales parjure
compétente navigants sondages amonceler
angers signaux palestine indésirable
gouvernementales référé acquitter derrière
anthropologie mozart télévisions biologistes
<?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__);