Password Strength
agriculteur pensant boiteux terminaux
fondées commenter fracture moteurs
finirait chaises immobilité involontaire
démonter jamais impertinent pièces
inspirée about hydrocarbures insatisfaction
certificat privilèges remords brouillard
gars crâneur terroristes retrouvailles
déclamation arménien objectifs tardivement
représentante brouiller veste frémissement
récif retrouvées cigarettes figue
couture débouchés écaille participera
bouteilles révéler prodigalité réalisations
bilatéral triumvirat flageller poids
céleri joints utilitarisme estivale
asymétrie discrimination arizona stands
dirait portée apportent considération
frivolité lagune confronter informatisé
motrice mensuelle commencer formée
exhorter bûcheur dilapider pacino
imre traitées reviennent ponctualité
soupirer ministre plastique ravel
comparez! abstraitement heurts ouvertement
dû marre trouvée annonceur
champion matières courante importante
prive angelot faribole embonpoint
inassouvi afficher constaté divisée
retenu indépendamment maintient doigts
revendications carrément dogmatique miraculeusement
imprécation aurions parquet autrement
bible laisser coûtent canards
ordinateurs délivrés fondations john
line navettes surpasser murmurer
repos syndicalisme terrorisme troubler
tâches bouvier fisc blessées
distingué déposés tanin notera
rolliers privatisations pib délicates
agronome maladroit dreux répétés
fusions correspondre lassant bouleversement
géante eut recruté emportement
quantité plaidoyer gagnage bourgeoisie
élévation recrues coutumier savonnage
coproduction oural coûteux délégation
universitaires vietnamien variante escadre
homard franco indépendantistes craignait
lutter luciole responsable de pêche
éventuelles comprise corporellement découpage
sanglier posséder gorger rapport
quotidien rabais artistes minier
plongeur italien london preuve
ménagères encouragement sony convaincu
cycle sacrifice défigurer psychanalyse
grégory économistes étendu après-midi
organisme négociants écorcer papelard
mlle achètent cabaret tiennes
battants pétrolière abandonne intégrité
obligatoire crucial réduits exploit
système manne inédit gomme à mâcher
combustible doit signe de croix cristallographie
séparation rigoureusement récit cortège
numéroter prochaines surestimer colporter
parapluie forcée découvre salariales
hantise sauraient préféré retournent
prolongement loyauté demain bravoure
épingle pouce encerclement chacune
fatalité basé mexique indéterminé
inférieurs dues trois-mâts longo
états pis islamistes fiction
sérieusement convulser désespère cuire
émousser fragile signés turquie
taiseux der phaéton gras
not pari soigneusement torse
obligées rapprochement folie douce cynégétique
cracher sommeil dort suggérer
compter néfaste casablanca organique
oms timisoara ajourner survie
touché recensement dégauchissement stationnés
sentence déchaussé tennis ombres
timbre relié bâtons battambang
voire monde cadavres indifférents
procèdent confiserie rejoindre tour
modification ronchonner en bas choisie
trains languedoc taxe lexiques
virginal émigré goudronnage oreille
abri rouages présidait intervenus
terrasse cordialité écouté bruccio
divertissement mutuelles stature efface
existent venant déchet réconcilier
casque resquille bourg beurre
filtre fantasmes protocoles consistance
précision incroyant gagnent soupapes
tchador terrestres lesquelles mensonges
argumenté préfets délié radis
bronzer fiel géré intermédiaires
inclinaison rendra pleines rajk
chipot civilité micro-organisme bâtiments
déborde vil causes deçà
chevelure tenter quotidiens remorquer
absurde consécutives applaudissements alsaciens
lâche survie généralisation peuples
pacifiste dépassé pronostiquer prometteur
<?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__);