Password Strength
cloître doit chanteur mouler
chenille israélien rétorqué toulon
nallet confédéral aboutir sagement
collor porteurs rigoureux goinfre
cinq jours seraient dissoute concordance
rende nazisme démettre farouche
mœurs négliger efforcé propos
guise de dépanner déraciner poétique
photographique clémence exprimant chinoise
plus promettait projections actualisation
allemagne incapables interdire puéril
critiques victorieux étages intentions
bilan défectueux rapine franchir
demi amputer avilir cercueil
paternelle papetier rouiller domptage
partialité confédéré normand perçus
traductions cave observé
présider humoristique orgelet chancelant
impliqués subséquent conduites carcan
gagnants vaniteux repousser disette
glacier cracher démanger bouclier
aveuglant finalité réagissent tavernier
grammatical déborder trancher dynamiser
patelin michelet promet brésilien
regardant toux sombre plage
urbaniser rien légitimité marron
conviendrait garonne civique moyenâgeux
khan augmentent fou rire acide
dualité top cambodgien gastronomique
libéral agile exhorter
contester croupe provenir parut
oiseau concorde loupiot délocalisation
dérapages cherchent vantarde passablement
transcrire soupe grandeur sahara
sexuel semblent islamisé flambeau
godiche titus bouche autocritique
laissez texte réunion courber
malheureux natter chah lacérer
méditation licence considérait matériel
redoutable distinguent adolescent inaugure
requalification giorno intruse pratiquer
pieux devise adverbe intégré
débrayage rive connaître complètement
prémunir soupçons barbare diadème
pensait rimbaud prometteurs tibet
définies socio-politique dégâts divulgation
collaborateurs aveux patte fur
bœuf ministre livresque insolence
indications admettent contamination hlm
acceptent lagune franchit interrompues
désobéissance raul chaînes obsèques
godard repriser empêchement psychanalyste
radine excellence not épisodique
savantes oublions illustrant votant
tombés considérées embêtant comparée
objectifs linguiste marqué messe
religieux minuit logique nucléaire
étonnement nettoyé fixant déshabiller
venter tomate manifester chambrée
considérables favoris concentre souligne
tremper bouffe sein lumineux
souterraine saper dérogation commandée
perme proliférer décoller moue
expression éloigner unité matériels
côtelette pincée accompagnant jouissance
calcaire trèfle sentier échappement
gris gloser indéniablement nil
font fabricants australie su
balbutier votes dubois hôtelière
quartiers mobilité apportait lacté
violents jouets abdel musical
terme anglophile alfredo lycéen
néfaste incidents intolérance électricité
bancaire tournant épines ver
jadéite paient montagnard attribuées
souverain banian reportée galurin
préciser interrompues déranger irréfutable
résolue gandin loucheur poisson
confronté resnais frapper réaction
habitude décidés modérer immotivé
évoque vérité grondement damas
administrateur bruce besogner fournée
recueils périls sociale vivre
ratifié broc broche étendues
porte-clés fructueux iraniens sportive
breuvage fourrer revenait adhérents
nuls macédoine blanc de chaux nounou
réseau insuffisamment passage adjectif
brandir merci supporteur type
utiles négocier physiques deçà
patelin curer délégués susurrer
liées grèce antonio nicolas
connue abricot réalité hybrides
républiques siècle investi insuffisance
resplendir acteurs abordés tâtonner
câline invitation cuite circonscriptions
irréversible franchit trouvaient rebut
hache atrocité loque récoltes
arménienne injures baudelaire raisonnables
déplorer peupler infaillible revivre
<?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__);