Password Strength
urgence jérôme irréparable britannique
négociables crie marron titan
infatigable mitigé caillouteux écouler
veste transformé roupiller salut
ostracisme flemmardise infliger temps
témoignent boules neuvième carafe
ricaner privatisation destinataire parviendra
auxquelles épater calculatrice intrication
crâne impériale marmonner trouverait
reed réunissait goulet townships
renvoi travailleurs inflexible concours
abusif essence persévérer conclue
créole choisies figuraient miracle
épargne emplacement aptes observée
centres chimiques attentionné flot
nomade surprise ironiquement levée
tapis routiers graver difforme
amusement carnage foncières élans
rêne timide min cep
romains nues gènes assassins
psyché limitée républicain aron
nullité vénéneux simplifier unité
relie cuisinière latine neige
muets huître limitation accent
ballast foison stipule théâtre
crémerie commencent profondeur septennat
boucliers louvoyer enfer immobilières
concernés travaillé malhabile conglomérat
civilisation conduira chicanier surprenante
larmoyer architecture échapper libres
vietnamien donnant signé accomplis
dégueu passant clivages drôles
fourni métrologie becker cervelle
jupe divisés maintient réalité
impossibles chasser maximal traditionnelle
circulation théâtral barber pichet
proxénète humaniste magazine assigné
ecosse décréter nouveauté oléagineux
accompagne maître merde terriblement
travaillons interdits marseillaise robots
crâneur piller ébaucher transit
référant ciel escarpement coup d'etat
oxyder démerder dissuader prévoyant
métamorphoser réticences réglementaires négocié
législature possibilités veule sollicite
inde pièges saper épanouissement
abstrait condamnable relativement significative
voisin finales centralisée marx
pâturage hâter effort durent
immobilier proposent peuple constate
rouges dévotion temporaire semblerait
vendre béer biélorusses cigarette
attraction have aimer mécaniquement
médisance boulez météorites impressionnant
sénateurs passent strate boucle d'oreille
contraire de suspensions dévaluation renversé
obsèques ragaillardir médical subside
frigidaire lancinante remplacée microbe
cynégétique subitement impériale vigilance
injuste compacts laignel mécénat
technocratique comparable tinter gaulliste
basutoland menant approché tank
abrégée typique inventer éducative
dans dard bête bath
eurythmique hâve commun repousse
pluraliste tantôt sentences tranchée
shelley déposés clandestinité veine
équation était éblouissant remplit
peignoir fraiseur situe repousser
racontant arrangé amis complot
doublé similaire clément gage
taverne pratiqués cuvette bergerie
pressenti persistance réclamant présentent
alertement maussade suant officiellement
autoritaires diriger mahomet envisagées
écale décidera laisse décédé
ripa appelaient marseillaise spectatrice
arrière-plan sénatorial ravages sous-cutané
guise pratiqués convictions convaincus
tutu promptement engluer orienté
plait caustique induit rendant
embrouiller sphères téléphone déguisés
chaînon qualifier aiguillette dommage
boston lecanuet abcéder présentent
certitudes réduits extrémiste déséquilibres
chiffon admirateurs radiner détruit
décrétée toit bon cœur bourgmestre
concupiscent leurs confus cubes
airs michelet évacuant épouvante
saint sheffield oiseau garde-robe
quitte politiquement immanquablement animisme
tirés postal exonérations imposables
tables extérieur puissante taire
ball approuvée doubs connaissait
hammett élaborer parcimonieusement déplorable
présenté régissant degrés arabie
supervision marcher défait intriguer
abstraite fantaisiste transvaser danser
charges virus perplexité routiers
représentée sous-traitance réel cars
<?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__);