Password Strength

résidus similitudes baigner noriega
partiellement reprocher pulpe atout
dépassant lorraine éducateurs tombées
distrayant comprennent retrace métaphoriquement
visiblement cadence nommer amande
remplacée violent statuts lu
repenser paquebot plaie adaptation
usurpateur kelly foule renversé
lointaine poularde paix desserrer
tactique résineux héritiers privatisation
nervure différends décrète inscriptions
glaive mademoiselle lotissement serviette
pensionné serbe gouvernementaux improbable
fédéral ingrédients consortium fournit
jugements oise couvre-feu retirés
mauvaise méditation résurrection chouette
traits trompeur berge laps
fiacre préconiser walesa papillons
nippes frontispice somptueux vivre
saxe compositions liverpool réciprocité
pluvieux massy foyers maman
muet agrégat livres affreux
universitaires émeute proclame troyes
embarquer rabibocher hélicoptère douteuses
barrot cognée montrait indéniable
concrétion dévêtir serpent robot
unième vieillard approfondie hebdomadaires
grain fous sangle tempéré
réserves friable extraordinaire laborieusement
disparaît portées tranche glissent
laval angora alouette assises
entendez avances comporte lecteur
roy délectation altercation linguistique
serpenter patronales dériver courbes
chromosome angoisser sémantique chômeurs
pesanteur voulais blafard torrent de
rusé envoie philosophe délicate
vernis calcaire confrontation portefaix
utilisateur basket-ball picoter firme
appesantir méditerranéen contractée gestionnaire
grandiose substance via additionné
cerf-volant votée divergences croit
insurgés hélène inspirées disparition
ramification attribuée tôt centimètres
récriminations ampoule fêlé intelligence
mécènes fallait cambriolage authenticité
malgré fainéantise maximale existait
significatives défection monique multiplication
lumière développement  tensions
demoiselle matrice bouts provinciale
malle arrière poularde laver voguer
étendre litre livre caca
perfectionner conciliateur bornes cee
discourtois maniéré baser mécréant
 paraissent inéquitable varie
violation interroge vladimir front
compagne cinéma surveiller astronomique
goitre voitures piteux croître
même épater approches square
accepter dégoutter finirait probabilité
tome tremblements vents datas
péniche imminent déflorer bouchée
officielle supporte liseré anesthésie
orientation bayonne langes cycliste
colonisation aérodrome présidente studio
madre ferment disques confirmées
nudité sénatoriale uniquement savoureux
téléphone matins victimes église
resta persistent bouffe anatomique
effectue menthe ulcérer méthodes
iraniennes inscrites vu changera
conservation bermudes louper télex
épidémique prompt développer charbon
bénéfice net signées scolaire stades
budgétaires officiellement gauchère fouiner
déchirer chargés rustaud pensons
raisons douaniers abattoir aires
écrits revente citant coïncide
niger métrage déclarée inégalité
hautement tourné marbre aboli
oblique nominés abyssin longitude
décri épicer  possible
renommé déstabiliser productive endettés
pareil électriques canada rendez
marocaine mitre couvent rétablissement
prétendant huileux glace réaffirmé
émeutes gorger marronnier redéploiement
traîtres montoir wales businessman
présumés éclate organisés requête
coulisse bouleverser éprouve tantôt
ménagères savais déception arrête
cinématographie otto favorise opportunité
miami normale justifiée total
horripiler écrasé blot stupéfiant
portait surveille accommodation échappement
rempli futile marchands nécessaires
gelé sursauter ardeur rhétorique
phraséologie municipalité privé monteur
exécrer mollet certain déférent
mouton veillée celer extremis

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