Password Strength

extorquer plaque shetland abricot
paiements bidon menées porc
offensant alphabétique portefeuille aéroplane
suisses gorge mentionné grilles
brise défection réticences objets
échéances blake légitime géminé
réévaluation muraille dépit anglophobe
pool carcan recteurs inéquitable
guillaume départs danoise poussière
dénigrer marcel défauts réflexe
embuscade solidarnosc marchandise brando
postale passants téléphonique départir
manifestent infecter catin 
sensations strident remonte richter
blatte decaux violet incinérer
flambée vanner arts inapte
pas tranchet précisions passer
enseigne mireille plaide abeille
pâtre reléguer privatiser modes
transfèrement durer opposées quittera
eucharistie scanner gouaille générateur
abdel stockage gouvernemental déterminant
orientales signée stéréotypes broderie
nelson cabine voyait fortunes
frondaison céréales existants éliminer
fallut érotique étroites ouest
italiennes navire match reculade
kennedy brebis posséder revendiqué
démesuré peigne éclairci comprennent
saône courte simulation slogans
sept cents avantages pierre saoudite
justicier affront  coûtera
libanais constructions divergences conquis
collines prétend malheurs séance
anticipée chémery rivages grammes
assistance peupler touche allant
ennemis brooklyn soulignait culier
suzanne amphithéâtre portion arménien
légitimes chamelle torture arsenic
composants savonner sénat hit
inutiles volontiers beau-frère présents
incompréhensible guerrier cour octante
accumulation masses non-engagé reléguer
rappelons affiche pervers savants
approvisionnements condamne participaient miliciens
succession genévrier consolation subjective
obtenues partir philippines moindre
draguer valvule faible fade
encerclement vive aéroports encadrement
notions déménager picotement imbroglio
traduction connaissance fillon minoritaires
ouvertures pétoche morceaux rationnement
trahison succomber dimanche des rameaux impérativement
affrontement émigration mienne effectuées
transmis étalon troyes gardera
publication obsédant indigne allons
vus libre coureurs nager
fabrication chargé moite aujourd'hui
formulées amplifier neutron vessie
amusant résolutions déclarant balancier
désaltérer gérondif remarquable autorité
kafkaïenne hanche pègre suffirait
oreilles brusque porte-clés découvert
stranguler courts souhaitent provisionner
délirer gène gorge permanents
besogner prospective annoncent ouvertures
treizième dis filet ouvre
tables skieuse décision balustrade
témoignages passionnés étendue supprimer
salon de thé décerné devenir déclarée
provoquée frontalières aggraver montparnasse
affectée egyptienne campanile canicule
conjoint abaissement loups délinquance
nîmes hôpital proie tien
restée philippe modalités acrobatique
mûrs syndicaliste compagnon déstabiliser
perceptible législature rivalité multicolore
intellectuelles revendre exprès étant
punition cou demie archevêque
autonome reims centrale pendu
warning énigme jeans mécanique
signataires conçue diminuer dard
vitre vigoureuse veinard accrues
jacqueline des longo abjection
factionnaire remises enfoiré crépiter
attristé désapprouver cher élaboration
boutade inspecter mauvais découvrent
confrère glose épaisse antipodes
restitution canne nuls apparue
suivait supplémentaire maîtriser insistance
marché symbole réunie cavaliers
déficitaire havane supériorité compas
pastoureau heurts greffe répression
sève animaux parloirs vivien
perturbation exclure oxyder senne
recueil essaient enchères commissions
personnellement laborieusement florence brebis
investissement contamination soupape tornade
bobigny fauves incarcérés étancher
astreintes débaucher composée nappes

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