Password Strength

formidable tranchée germer arbitrages
pharmaceutiques peureux souche aussitôt
estrade taloche accrocher spatiales
panier chadli désuni infectieux
bombes nébuleuse minimale faction
excellence forcé baie guyane
frotter lentement ponctuellement bouillie
inefficace arbre de noël boire législature
clémence édificateur allah anesthésiste
prématuré suffisante émise pupille
milliers comploter guerrier miracle
saint patron décideurs illégalité mondiaux
solution panacher interpellées avitaminose
pourvu plusieurs accompagne transforment
tourterelle liseré compatir poignard
sabre censés très livré
bitos clairvoyance paume législation
remède régnait annoncer renouer
choisies organisateurs rudesse lutte
coupés surenchère équipes daté
félicitation gouvernement pouce parcourt
abdiquer étranges paiements kurdes
protagonistes camisole adam géophysique
jacqueline bander freluquet pilot
bagne journalier lampe lorgner
arène banqueter débats libraires
engueuler inclus délivre libanaises
parités thermomètre acteurs reconnaissent
 cracher cambrioler sauterie
interventions suis manqueront couverts
athérosclérose converti mode nécessaire
narcodollars édifice apostolique porteuse
dédié demande indépendantiste albert
larmes poitou connaught mouchoir
syriens désorganisation foch souffrait
dissous signatures râteau pourceau
aquitaine lettre retiré apôtre
publier social reprochent insupportables
tempe cor délinquance détruite
jesse revendication prévu fonctionner
forestiers détermination dieppe complètement
place auteurs particularité orientée
jade jérusalem équilibrée bloque
occupe jaguar sartre abusif
bécane expectorer occupait comparer
carence engueuler antan entrez
syndicaliste rectorat précautions atteignent
osciller comparativement sorgho lapereau
jet eau technologue mensuelles embauche
abyssin frontaliers allais bouchon
vaciller dorer bénévole revu
totalitarisme tables virtuose pessimiste
carence de chiron ébullition cousette
visionnaire restaurants patiemment suivi
angola accepté slovénie proposera
enlaidir suffisante mutation bandage
incompatibilité équivalant bocal danoise
rubicond colonisation gigoter respectée
commandant éplucher diane cholet
éblouir monture conclusion escorté
fixé non-valable orphelin stupéfaction
tanin hector  laiteux
acide chancellerie préserve erreur
 étant barricades lasser
james revanche impotent suggestions
cacheté contemporaines émission barcarolle
rotation farcir fixée combe
bruce rival bat parole
semblait retiendra accueil opposé
germanique sollicité visibles porte-clés
échoppe supplique éclairage éliminé
laiton falot georgi perche
journaliste candidat quotas massif
exanthème gain apportait héros
ruisseau dépouillement canada solo
vocifération réalisateurs corpulent réactif
albert regrettant trinquer répétitions
poudre moyens lacustre violettes
cabinets conjointement casino batavia
désaccords volumes exaspération inculpé
barres forment solidarnosc béninois
étude foch valoriser mettait
apologiste publics lavette propager
nippone coutumes bidonvilles pharmacie
autre part  incurver monticule
tonus aspérité obus clair
pigeon effectifs hôtelière inaugure
matière nourrissant concrète intérieures
deviennent désabusé médiation délinquante
démocratie poussant ressortir sacrifice
enregistrée sous-cutané cordier rappelons
décharné moussa héler buffet
solo amodiataire sinistrée long
câlin vocabulaire prospère supposée
abuser peur méprise logis
indivisibilité aurons plaisir piloter
colback dégoter tenter soucis
omar contorsion sauterie préserve
émises domptage incapable tombouctou
devenir artistiquement senna volcan

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