Password Strength

godasses commissions trois mâts perestroïka
parités anonymes herbes estimé
nageoire armateur infanterie cambrioler
député particulières maniéré micro-ordinateur
rebrousser sénatoriale moselle chaume
pétrifier majoré raréfier pénitentiaires
lent  situer vladimir
trône chuté regretté mardi
iouri assourdissant colonie de vacances silencieux
prohibition rattaché libéralisme toulouse
renouveler constatent vernis éternellement
londres nagy satisfait renfrogné
jacquard règne vichy filières
rougir attester pellicule restées
appelé âpreté balalaïka conjugal
volvo garde-robe colorier tournoi
géographiques dominée regrettable applaudit
gloriette survie truchement sarl
ouïe parure roues expriment
attractif villageois associés directives
inculper effréné veulent iraniennes
mitaine miller métaphores égales
fonctionnaire coins antinomie sibérie
maritimes relatif refusé avalanche
ineptie remanier accoucheuse 
dessinée lenoir ensevelir égarer
contestataires sales preuves irakienne
comploteur démangeaison draguignan universelle
décollage pronostiquer éblouissant tanger
circonspect espérer monique flottement
caractérise écossais parcelles posteriori
enchantement directeur minou terminale
origines talbot maintenu enfantillage
chirac entrepris celui boys
observateur majesté langouste solitaire
briguer simplifier limogeage considérations
rivière supérieur cuivre vallées
penne homogène sofres confondues
out désespère mineur positif
prometteurs haler initiatives eskimo
fréquence soi-disant rancard filouter
instable clignoter manhattan proviseur
niais dénommer exceptions pécheresse
azéris commis affermage forcés
hasard tourment unies déchirer
compris fièrement lumières chanteuse
croire speed arrière-plan deux
cuisiner étés des trouverait
industries baptiser instituts dicter
hersant débordements grecque chante
perçue installé continué question
baver de performantes verni fossé
indispensable morve évènement soixantaine
matériellement foudre musarder renégociation
humaine chine attend valentine
linguistes péremptoire dunes bonnes
unions tokyo soulèvement mirettes
branchies sapeur-pompier bureautique obligent
détiennent mark envoûtement accordéoniste
répand ration radiodiffuser noté
épauler index vexation associer
modifiés rue moule desserts
payant tempête idiot prestation
inspirée inventorier gardant daté
ovule potage haler aléas
décidant mortes attraction piétiner
collective fiat réprimander doyen
saccharine stipule francis participera
chairs écume restaurants défendre
foulards alexandra supercherie rencontré
courroucer supplice fortune entêté
trentième absorbé amabilité brunei
mi-temps inonder gigot évoqué
faucon réformes cocotte amnistier
modifier extrémité gypaète intersection
arbitre positifs mutuellement austérité
plate-forme pompiers burlesque paroisse
niveaux bercelonnette vacarme incontestable
vaillant subie gifle barriste
graphique crinière mystérieuse financer
près donc souterraine pourtant
torchon annuler allumé moyen
flanelle kadar tentés jouir
présidentiel millénaires prenant ministre
conclusif toulon galurin participait
bail suffisait médian obésité
vestes maître croc millon
ferrari affliger laser stockage
forer pau verne déplacements
risqué saoul palais carole
médias dénégation députés vicaire
restriction courtiser résistance vote
digue lactique fermées situation
inculture lituaniens dos cette
textiles tilde reconquête autant
navires prétentions insuffisant confirmées
roussir motivé restituer transposition
mémento al ange prostituée
indigènes alphonse réclamation prédateur
magnifiquement catastrophique imperfectif envisagé

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