Password Strength

ficelle commandement rauque penchant
écartés israélite intervallaire choisissent
accomplit évaluations historiens ravaler
violons renfrogné nettoiement garantit
caravane assaisonner acolyte débauche
fouad plateau tonnerre transformant
incollable massacres polycopier retournent
mouette autel choisis brouille
essaient aimée manuscrits maintenant
formalité piquer mercenaires train
déniaiser appartenait rogatoire cénobite
bérégovoy cupidité réunissent claquet
toulon rappelé sophistiqués suggéré
marotte assourdissant généraliser laissaient
peaufiner partielles boiteux apostolique
contestent fesses porteront broussailles
inégalé sophie agréablement indiquant
stewart chef hybrides pirates
révéla attendaient juridique réfrigérer
enculer naissent brouille concrète
cosse formateurs oise tricot
cabinet sncf bipède chargent
déterrer distincts show-business affirment
datant découvrant décide mange
imitation juriste plaignante naturiste
surchauffe lutte suffrage tiédir
comptaient démographique déséquilibré ordure
notes barre annales gros
cogner quittera libéria observant
nominatif dirigeante ultimo amalgame
osselet préfixe céder corrompre
tiare vagabond beurrer filmer
martyr renversé plus bourgmestre
show anthologie visite exposés
verni potiner trucider annuellement
arrivée suivaient suspecte nicola
fric approvisionnements captieux aériennes
inconsidéré champ blême éléphant
pétrolier sympathique brusquement sachet
volute transporté personnel position
spécialisée péremptoire abandon fixant
bain décelant socialement internationalisation
voies convertis indisposition conforter
garçons noyé perspicacité artisanat
transformés coût antagonisme romain
barre évasé pot-de-vin réparer
expulsé jeun colombiens aucunement
mésaventures crois détente magazine
griffonnage inefficace trouvait élimination
perturber raisonné kurt limitent
menait abolition autocar embranchement
chlore endettement raté odorat
national condamnant grièvement chancelier
cafetière condensé inaugurée épiscopat
fonder métrologie george distingue
épreuves moi-même guinée 
photos rhumatisme graphe nase
vidéo modernisme arabes apéritif
théâtralement carburant bénéficieront trois
anglaise dérider vérité absolue failli
polonais nommément crocodile apathique
perspectif ma bouquiniste conquérant
profit de multipliant gilles kilomètre
nombriliste inquiétants daimler bonus
vôtre paraissaient actuellement dépourvu
saler abbé dirigés immeubles
exceptions serons polémiquer alimentation
masques uniformes confirmé antiquité
vraisemblablement hypocrite failli diplôme
volets musulman étages éprouve
bachelier boueux réussit cigogne
sommaire soulier abords prouvé
complaisant lunette vertus consommateurs
géodésie primes unanimité natale
acquiert gueule fabrication crever
 comploteur bornage celle-ci
rumeur achats bétail destins
allan tropicale attentifs fraudeur
entreposer besoins sénateur composent
italiens séquences don importés
coi culturel inquiète perfectif
audience résille presser ethnographique
étudiante porte-clés anticommunisme curie
contrariant première éminent affût
cloud détenue roosevelt carmen
décidément originales virtuose disposent
belle trait firent unième
compost écossais représentant disney
mistigri non-intervention cuisse signal
mitaine permettre dreux asservir
charpente créature mouler membrane
serpent classification crânerie stupéfiant
moyennes corbeau explosif orgelet
flexible aviation confiserie présidentielles
gandin délier sols grandir
centenaire universel criminels tract
majeurs enrayer croyait sophistiqué
égard revendiquée impudence atypique
escale qualitatif donjon draguer
pratiqués happe coïncidence bactérie

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