Password Strength
juridictions substitut abcéder
documentation naphte redistribution torche
immunisé gosses lait démunis
langage repartie froncer sphère
baudelaire brutal godillots pré
athènes grive photo investiguer
congratulations infractions coton rapidement
inassouvi rivalités isolée babylone
allégement bancaires affligé préparation
chambranle jouets coproduit prodigieux
divertir terreur organisme polygone
incorrect formes persécuter réduisant
lyon fusil prague nécessité
logiciels minéralogie inexpugnable précisant
canton horripiler pèse-personne mathématique
anciennement lions porte-clés froussarde
schizophrénie canberra crèche parallèle
contrôleur alpiniste larousse élu
horreurs animés virgule prochain
gentil informées barber coûtent
supprimer aligné protestent citoyenne
transcription solive ensemencer défaillances
scepticisme clemenceau usiner quoi
majeure déblocage traitement escroquer
attroupement astrologie encrier personnage
amenée pisser pensé berné
rincer loisirs précisait désuète
piocher haleine protégé étapes
cieux crocodile instiguer jacasser
amputer brice vaudrait alcoolisé
denrées alimentaires violenter intervenus héraclite
sûrement tiennent plaire opposants
province prochaine chaleureux
embarquer paris radicaux mauve
importantes tournage quilles profond
naisse dialogue rabat translucide
sand frôlé douce notoire
entités entend desserrer gomme à mâcher
machine aveux costa débit
lettonie ingénieur résolu ménagé
classes participation seigle voulu
uniformes subordonnés raoul mule
poulain commettre réunit donjon
bourgmestre jaruzelski ethnographique braver
finira crinière occupe pronostics
lawrence malaisément prophètes inter
mandataire dépendent préférences justement
reniement célèbre bastaing contradictoires
envoûtant cultivatrice distribution procès-verbal
habite noires nourrice glapir
technologie lacune envergure aisée
cintre général bagdad hydrate de carbone
philosophique termine ambiguïté rénovation
compromise trahir moustaches palissade
cuve trivial pompette valérie
notablement places maldonne alfredo
contre liszt ethnographique ai
appropriée épouvantable insertion glacière
intimidé parterre scénario métayer
représentait file chenille moquette
propres vulgairement figuration marre
prononcent reflètent moi ferry
rossellini permettront capitale citadelle
consistant verdict coupées écoulement
naïveté essonne eau de mer camps
étançonner tendu galant casserole
tend tabou maquisards reproches
sachet nippes gares sert
réclusionnaire concertée servait imminent
critiquer superficiel approvisionnements ecosse
située farine unilatérale regrette
paraisse soit bac minoritaire
foisonnement patente grévistes laissaient
ont créteil tronche choc
sceller géorgie kremlin allégorique
givre amoureuse circuits faiblesse
fringues noisetier maires avoué
respectivement voyez ours commercialiser
aux laquer fournie images
démonté armand protocolaire conscient
décidés prêté apprentis crédible
minière légale estomac auberge
fourbe galant cracher limogeage
controverser sous-marin rechercher occupaient
guise de skipper alvéole lampe torche
celui félonne milles négociée
découvrait déclarer libyen parfums
anticlinal impôt possible décisive
bunker disaient dérober respectable
dresser antiétatique fissure indécent
dîner plaisante défendait cuisines
tannique souterrain cruauté revendiqué
sidérurgie ray nonobstant conférencier
ponant mauvaise crinière pendule
piano linéament supporters aérospatiale
pull toux viser sillonner
lacroix patoisant engagées sonores
acétylène cajoler haydn dieu
brailler deux flic post
joyeux portugaise parcourt konzern
<?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__);