Password Strength

gentils ici peu affectation air
chacune menton prétendu prédéterminé
véreux tricher gifle salaires
hâve coût empara acquises
théologiens mères cru chouette
boussole distinction dimensions séquelles
façon veau soins modification
empaqueter malouines fragile sanctionner
émoussé coup de griffe elizabeth filou
prescience dévider violemment technicité
sanglant pratique martinez évasion
payé somnolent prescriptions piégée
analyses réduites conversations judas
recherches ébranlé septième normande
réclamait malentendant odeurs fini
méconnaître boucherons devais gouvernement
plaide suppose écarts bonsoir
humer cygne justesse datas
enterré cash préfets solo
corrompre battant réaction honecker
bakchich canotier témoin textiles
comparez! montoir malade virent
déséquilibres franche balader dromadaire
suspens garnison ping-pong crème glacée
terrorisme thaïlandaise inopiné espion
prévisible charles bagarres osé
détendre dédain grange môle
endurant tiendront failli blutoir
évoquer peloton couard cinglant
apporte suffrages métaphysique démocratiquement
mitchell supprimés  porte-étendard
dévot utilitarisme consciencieux hippopotame
venter affûtage allemande compétiteur
csa venger existence papule
atmosphère squatters chargé initiale
potassium drogué  robbins
tonitruant cornu saurait frondaison
contraindre modifiés char d'assaut caser
hagiographique poupon tentation sangsue
abonnée accueilli étagère usurpateur
cheminer tripoli fièrement crient
entraînement liés confère imam
naturels natter du supermarché
déformé interdits appliqué grêle
secrétaire azerbaïdjanais fax dotation
assaillants diront socialement adopte
déranger billancourt distingué vietnam
débauchage cardite libanaises concluant
relier arnaud goncourt inquiétant
supporters éventuellement clamp devenant
perplexe piétons interdit tonne
confortables tulipe autocuiseur vigoureux
ruser linguiste réunissant seller
dessus-de-lit câblés kundera salisbury
village expliquait détruits féconder
contrôleurs esquisse pèlerinage roubles
casques moutard avance amère
fournitures suffrages moubarak traductions
tropicale obtenus vulgarisé touffe
discutable papy reconquête devenir
arboriculture truchement thorax délation
mythes corpus vendant discussion
professionnelle théoriciens voleurs mot-clef
investissements cherché bd bienveillance
rouiller tournoiement pans pacifiques
polonais clarification sourcil manifestation
fantastique nombreux enrôler bakchich
fermier verbale pérès chambéry
comportant réinsertion assistante fallu
jambons sorti procès-verbal caprice
séguin touchait drapeau coïncide
invité stagiaire extrêmement traitements
hypothèses coppola abidjan soupçonnés
chambrer spéculation perversion algérienne
concrète telle visible déterminante
bipède espéranto applaudi désert
sèches constructeur hyper saumon
arriéré religion récré génial
derniers berne amandier prôner
couturière immobilité inquiet tardif
remontent navals lame engager
piocheur gaver dictature consacrera
faillite vamp andouille natale
natter pardonner précisément égoutter
église menotte adoratrice science
franc barres accusant jalousie
birmane ange détourner beigne
aurifère pourraient ironise naturel
géographie antin interdits magnifique
aimable catastrophe laurence plates
permettant abominer frustrer grosse
croisade caresses alimentation voulue
présidente modifiés votant réactions
pôle écrivant disparaître van
lisent contentement coïncider artisan
manuscrits emmené inutile bouclier
arroser pébroc huiler vaillamment
monumental  péroniste allonge
music hasard chasser subconscient
inspire retrouvailles dédommager évoquée

<?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__);