Password Strength

fi deviendrait avide assurent
feux remplacée flottant occupent
reléguer développant sos faïence
livrées instruments expositions coexistent
libéralisme étang bonds applaudit
boules coproduit progressivement birmane
guerroyer trempé risquerait survient
cancrelat délicates intimité cligner
dorage spectacle garantissant ambiguïtés
tensions béer déclamer marcel
cour oriental recouvrement agricole
corsage merveille puissantes circonférence
liquidation fortunés œuvres acheter
commodités pence trouvés retirée
impressionner draguignan an poix
gardant telles que ignorant eltsine
spéciale laiterie tempête éclaircir
conte enfermés fougue préférable
change régissant impressionnant centralisme
cafetière hystérie ici-bas exulter
inacceptable canalisation jérusalem surplomber
virulente assurés albumine moindre
pâtes cinématographie vieille reconstitué
pourparlers polémiquer invisible ethnographique
lagune forum attentats couard
ténacité partial abrasive kohl
essence soucieux évidente croyances
chipoter procédures âmes fatum
déchu progressif élaborée fiche
comptera proclame constitue féerique
agneler balle parait enseigner
délais consiste serve moindres
tissus transcaucasie quinze instantané
transporte masculine huit col
crépu langages exploitants habituels
boeing accusait pharmacologie vêtements
guillermo cantique étudiés méthodes
communion déclaré pluralité vomir
pal coefficient rasoir juger
riga endroits torturé doublure
appesantir famille oscillation intelligence
cruelle consommateurs consécration désagréger
vider couvrent peser courageux
appliquées apporter godet thèses
fronde robots périodique neutron
moineau bd dégât propagé
commode dénégation dessinées inondation
citadins alerté allemagne pénurie
diront avant briques ethiopie
laquelle mêlé swapo verdun
tombé cagnes apologie relèvent
antennes sensualité avignon dérange
adjointe assen vendu prisons
tressaillir irrité premières managua
postes atomique pollution provisions
pute sonné développant philosopher
volontaires beurre fabricante cancaner
files abcéder outil goutter
ténor délibération monnaie reportage
sapin de noël rencontres crie baraqué
délinquant walter formalité sondages
genscher affiché sauver sa peau croyances
prochaines artisanale roupiller acéré
 fasciste symptômes paresseux
miser poissonnier convois washington
faisan cinquantenaire bondy lagune
canonique pointure minimal couturier
commandant dégriser légal sonores
circonspection arroser idéologiques collections
senti allocution pragmatique synergie
conflits eurent importation guerre
kurt imprévisibles faner dits
excuser enjoliver telle cuba
commence dévoiler supermarchés torrent de
refroidissement navigation fascicule ordinateur
venant mahométan degrés longitude
gravure cousins cia volubile
attestation président étage intervallaire
adopte crèche éventail loyal
sermonner cacheter robe de chambre première
intéressant canne reportée réfréner
corbeau honneur horaire étriqué
marée hier or appentis
laissait bonheur engendrer replacer
appartement postiers ride citroën
cancan albâtre relevés embaucher
article puant popularité confondues
raboter versatilité argentin soufflé
noces décacheter succédé intestin
économie infaisable badge aisance
déverser inique qualifiant contre-pied
publiait pôle interpellés capturer
solennellement sauvegarder défaveur signé
rhin hautes tâter villa
administrés européennes plaie examinée
cherchent ivan entraînera ligue
empire romain impôt indirect limitées bistrot
vilipender opérations flammes discutée
dont vénéré essentielles vérités
vertus comptabilité inventer amuser

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