Password Strength

marquée protocole abyssinie fleuve
remparts tromperie agile estimait
exalté crisser tant dessinée
abattoir majeure cinglant infamie
discrétion stefan éventuels bilan
séduit antigouvernemental modération raciales
horaire orange dent de sagesse afficher
pester technologiques injustifié fraiser
kahn gigots dessinent légale
sinistrés télé destinations présence esprit
rêvasser partagée securitate honorables
éclopé négocient envisage rigole
journalier renfrogné braquer blocage
contracter blanches pavé requête
susceptibilité tentaient décourager approché
amiante péricliter entretien étant
baraquement importants report groseillier
géants ambitieuse isère détachement
passées constatent titus champ de courses
tirant opportunément alléger dérailler
espionnage adéquat provoquée dérogations
mordant allez retentissant troupes
exhiber route rentabilité voire
tennis métallurgiques négociant varier
mettait vétéran homicide laisser-aller
variétés formules spécialités reagan
shimon imprimer sourdre tours
arrêter présenter traduction entendue
rompu exposants remorqueur scandinaves
intitulée bourbe mesurée musset
entraide inquiétés  bousculer
audiovisuels invariabilité croissance captivant
emplacement embauche exceptions enjamber
réserve imprimé action presque
antique posée actualités pogroms
querelleur exactes adieu caissière
fervent nez vadrouilleur subodorer
envergure nécessaires arrestation miens
saigon foulards doigts cartes
dirais errer documentaire désapprouver
foncières huitième abandonnés prononcé
crampe siècle denrées sociologique
pape accordent inacceptables abeille
lier séraphique croisent courir
rattachement abrégé preneur pluvieux
artisans professionnelles havre pompes
mobiliser calédonienne défraîchir né
likoud attendait douaire vilipender
controverses beauvau divulguer auront
indomptable loyers maquiller matériellement
doctorat recompter indiscernable poitou
fraudeur bouse éleveur engrenage
pontoise gymnastique tranchée lexicographique
investigations équivalents distrayant cuba
orgueil astigmate sceau cliquet
persécutions traduisent kiosque voiles
conjurer soutenir rouler delebarre
autre part sous-entendu brosser difficulté
infecte  lionne feutre
contredit cinq jours inutile voyageur
attristé cliché entorse légitimité
craint autoroute perquisition réchauffer
proxénète récit sommaire dérivé élément de preuve
jésus saturation namibie chemisette
répandu exploser figue laïques
poireauter blocs supprimée poncif
tirés brandy azéris deviennent
profonde arts pression jeunes
retrait entraîne ion encensement
habiller rapine combine applaudi
pêcher athènes marian traître
oubli marée fleurs passa
koweït exécutions fusillade guidon
comportent ennuis expérimentation cas
fièrement banalement administratives mortification
soudain poissonnier votre appel
complexité précédée relatifs intrusion
sélective laissera discernement pétrole brut
bastaing doléances suranné contraire de
écrite répartir consacre confidentielle
québécois crevasse frigo sanglante
plafond malraux aménagement remblai
impartial exposée sillonner affaiblir
goebbels eugène bio régnant
hutte luttes cadeau langouste
tirer assemblage semestre merveilles
convenus préférait gestionnaire conformément
occupants adoré narcose étrangement
barbara édificateur déposées attraper
châtain mur géodésique organisation
détenus sidérurgie glisser fournit
billy apporté débuter familles
rein circuit induit disparaît
inculpés apparaissait aboutirait libres
michèle dominer trop fichier
naissances proposée évanouissement prétendu
démissionné engouement prospérité rouspéter
alléluia entendre quémander idéale
immuniser grandir convoitise trésors
étroitement aéronautiques lénine insolite

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