Password Strength
voiture riches cargos médicis
figurait voiles flanelle sandwich
avorter signées charte posséder
vadrouilleur dirigeant hémisphère warning
prémonition approfondie les deutschemark
stratégies souhaitaient infirmières prendront
bénéficie médecine réfrigérateur marlou
débarrasser diront diluvien vivement
décidant grammatical maintenir hypothèse
hampe rejoint renier directoire
croissant correct lustiger angers
noires coquillage fourchette cervelle
dégoûtant date faculté révélée
bénin assemblée semblent fric
craquer laissant odorat sacrifice
visites faux pas adressée bactérien
répertoire afp confidentiel baronnage
irresponsables endormi infirmières justesse
mouvement colombien autoportrait pleurer
allécher roseau épatant tirée
barque égoïstement égoutter privatisations
dénier lui-même fard cliquet
enfantin vulgaire hanche préférer
comportera immanquablement hanche sous-vêtement
montoir compétitivité précisé cacahouète
drames violentes appartement)
érosion tôt sunnite pauvre
turbo conséquent lexical glosé
restées libéralisme saoudite lecanium
connaisseur inamical récits enregistrée
racisme authentifier médicaments étendues
entrepôts tromper faux jeton neutralité
hagiographique viser répète négligeables
inspirés marins andré iris
banaliser envisagé bonasse décollage
aorte critiques relever recommander
nonobstant fillioud témoignage extérieurs
netteté marmite martiale fracture
commissaire cruel artistique
reflux ironique portera verse
penne arabe clairvoyant tonnage
fantaisie irrecevable anthropomorphisme laiterie
toison classique équité encadré
rattachée stupéfait porte-enseigne éventuellement
saillir baptisé braise coûterait
découle fasciner média traque
scanner moins dépourvue tentative
cubitus simplification arthrite fédérations
présidentielle aéro-club bourreau recensement
hans rivages commettre grise
faure tout prépositionnel sangsue
autre côté transitif arrogance débutant
rotation froment déportés distincts
baume singe duvet aventureux
âmes avidement meunier tapis
ravitailleur ordures libraires jupiter
phraséologie poursuivre remonter élection
écœurant ratiociner traducteur épisode
main atteignait enfoncer abréger
diététique compétition bécoter épisode
faucon recouvrement pilier briller
hâter clé à molette colombien micros
esclavage grelotter lys quilles
courage ballets article bibelot
akbar conteneurs spectre traditionnels
sommaires expliquait décideurs commémoration
masculine rationalisation délivrance risée
apprendre déboires hypertonie riper
insatisfaction godasses assez cuiter
diffusé établi évolution conduits
rebaptisée reconnaissant engins forceps
devoir slovènes infectieux matra
adopté consentement claviers monotone
dégoutter rangé gravité pécheresse
médailles insignifiant vestige musulmane
guichets promotion automation lait
décelant traitant délinquante indochine
mistigri anthropologue personnelle maisons
vacuum assister paul imposables
épingle suggéré frigo ternir
indépendants urss styles inonder
contacts tubercule bave madré
triompher vigoureusement défectuosité abondance
lorenzo rayonne satiriste disparités
démerder identités aidés ici
butin éponger inutilisable stimulation
marginalisation costume adore douane
nippones prost chocs ombrelle
groupuscule dissous enjôler lorient
amatrice roy naturel participeront
roumain confortable gérard incontournable
importance mécontentement conférencier
métaphorique décortiquer niquer ange gardien
acheminer destiné référendum canberra
béninoise collaborateur bureaucratie travaille
titus satisfont snack centaines
féliciter lis prêtent injecter
crée figures scrupuleuse méchamment
désavantageux démoniaque frangin virtuose
revenus désaltérer insurgés similaire
<?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__);