Password Strength

fâché antibiotique éden décembre
délibérer diffuse coiffure simenon
césar commence rit jeudi
motivé dénoncés laboratoire suisse
crème glacée matinal respirer camus
transmis squelette virus gardes
dévastation autorise toi silhouettes
rançon indécent puérilité limoges
länder traîtresse échappent insecte
scruter loisirs afghans disques
digression clandestines animal presses
civil irréfutable délinquant pronom
au islamique originaires chambre
kyste conviction bavures résolus
haut-parleur citoyens sanglante fonctionné
ferait coopérations casser frire
faible secrétariat emmagasiner hisser
auront indiquée lente produit
chaland clientèle avances éternuer
inchangé aventure dépeindre blessée
congo arrondi kreuzer malle arrière
cache-cache inopportun dépression four
désigner amorce mirettes este
ondes suer haillon ménages
instructeur agonie dessiné réactionnaires
divaguer tumeur objections nunuche
irakiens voleur reconnaître vues
deviendrait réguliers stupidité sentinelle
hospitalité couches puisé ski
établissement fluctuation var illuminer
exécuter géodésie évité rôtissoire
céréales automate incrimination provoque
adjoint initiateur campagne réduit
friand définir parmi colle
criminels multinationales étançonner drastique
brosse ramener venture installation
reptile sur-le-champ opacité acquise
mobiliser indiquant polluer déterminés
motions usage phoque inhumain
fratricide clandestinement exubérant réclamaient
arrimer robbins piocheur écarté
associe précédente nixdorf piétons
irréfléchi corrompre conseillers vieillis
porte-billets mondain portugais formalité
règne banquiers publicitaire spectateur
malentendu ignore roui tranquillement
autodéfense panne austérité soirs
assassinat baptisée démangeaison colin
carrières inadmissible banqueroutier infléchir
finition gréviste guides mentionné
puer accouchement prière forer
spectatrice carrefours fréquemment indépendance
intellect soif provoquent émission
oppression vendeur confédéré dont
nouveau testament étés pierreux malvenu
observée version provisoirement pesait
bâtard facile feutre officiel
jalousie consécutives nommé satellites
phaéton gabriel coin blason
prérogative coupables lisant africains
grève freezer facial forfait
planche aboutissent privatisée révélées
fermement termine coûts lumineux
participera infirmière meilleures positivement
considérablement forts birkenau mandibule
circuit tournent virent équivalente
craqueter entraînerait amalgame principaux
présager métaux piège phonographe
galurin grillage badge survie
concasser déménager acuité espionner
lente contredit consultés traditionnel
ethniques lumineuse infirme démissionnaire
désuets indirectement caracas déblocage
moldave ôter espérance surnaturel
utérus fada élastique radioactifs
gymnastique vulnérable acquiert profils
souhaitable cinéastes souffrir imprenable
calédonienne bancaire heiberg campagnes
surmenage animales songé hermétiquement
mecs dommage minuscules développements
trésorière traire vêtu logistique
speaker législature finistère milieux
reproches chagrins forgé bureaux
baraquement amené stockage intéressantes
télévisions perfide lu astrologique
résumer débiner clarifier agilité
longue durée voyaient violences max
offrande client mancelle logements
remplir prend rapporter réclusion
prétendre paysans exercée 
unions embranchement princes simplicité
radicalement peuplé mer manœuvre
mobile enculer racket satisfont
jane fauteuils longue rendre
scrupuleux polychrome fred générosité
noah bulgarie déclarant ressentir
radicale approximative soutenue craquer
plats fédéraux remparts triste
colère derrière flotte victor
tonnage stockage palmier terroriste

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