Password Strength

franchise pratiquées bulbe possible
inconnaissance feuilleton avarier diffusé
perdrait cogiter mentionné vise
détermine lalonde sensationnel prend
compassion granulé vœux tuant
cambridge indolence rapprochée fernand
cuirassiers amplification framatome hiéroglyphe
forgé réévaluation océaniques sincère
éponger effectivement titus mérites
interrogatoire allégement life supermarchés
pavé  songe demandés
intégrée trouvons loyers création
suspendu sentiment froidement hirsute
sanitaires difficilement homélie crédulité
désaveu magique agents botha
urbanisme analytiquement parfois étancher
opa latte exiger charismatique
selon handicaps opposée intervenir
maudire menottes compétences kreuzer
portée maria abasourdissement lagune
coutumier verne démons taciturne
agressive annuelles long atlantique
qualifier increvable musulmane cartes
ragaillardir légers lampe ironise
chamaille produits mathématicien phototype
conservé inculpée achète circonstances
écrasement poularde crête ferveur
cac sournoiserie humeur bombe
voué hypothétique législatif hulotte
subséquent ajoutent ancienneté refus
répercussions lendemains soucie ouïes
arrêter écrasé vexant publicitaires
conséquent artificiellement délits cocteau
éminence concours griefs prenez
bel âge laissé billets mesurée
abondamment traîtresse frileux anthropophage
boucherie établis pinceau forage
becker ballot pleurnicher menaces
enregistrement marchelli tournent possibilités
marocaine formulé impact mari
doués selim seront trembler
radicaux joyeusement méconnaître fokker
découvrent inhabité romancière meubler
amusé discret cinquante mémorable
aspiration balte amazonienne circonscription
quai ambiguë repères répondit
unis réconciliation fabienne ceux
circonspection accompagné rétroviseur empaqueter
sifflets indifférents intellectuelles recueillir
reçoivent rotterdam désespéré amendement
prudente persister couronnes barreau
caviar chercheurs michelin travailliste
sélection aires septentrional acidité
plafond simplicité bouée boîte
causé allié légalité ridiculiser
pénaliser irritation filles légume
normale indicateurs grisonner antérieurs
protéger découverte déclenchée civiles
maria béninois consolation contribuant
rencontrées variées accommoder agglomérations
révèlent perme superficie apparaissait
raids approché planification falzar
dynamique ressortissant transir rallonge
prolongé mégoter traditions rejeter
torcher naguère stupéfier vigne
abbaye voyageurs scintiller incertaine
habitudes rouleau trou époques
ravagé considérer curé respirer
souffler missionnaires effective redondance
axes éclats donnant imaginaire
trajet hôpital attribuées surnom
éleveur inonder démettre castro
nippon hermann breuvage omar
souhaité hausser commandée gueux
exclusif exposé soliste élections
passerait légère domestiques billy
injurieusement aéronautique taureau demanderesse
engouement inspirées animaux revendiquent
lointaines provoqués soubrette minerai
attachés cabine rachetant cécité
réactif encombré eaux droitière
élite approvisionneur serment maintenant
arabie vendetta dispersion substantielles
dévouement gâchis légitime gaspiller
aisés croise harmoniser ponctuelles
chevreau fer dégueulasser formalisme
missiles pop détremper convaincre
john auraient bourgeoise lézarde
orgelet rubicond lyrique terminaux
fendre efforcé royaume chats
abonné inculpée rustaud pertinent
apporter intervenu admiration orgue
parasol honda exploité sent
anthropologue espacé gribouiller enthousiaste
honorablement pote socialistes norvégiens
papeterie utilisateur volumes douzaine
surgeler appartient recueilli naplouse
écrans troupes saupoudreuse débarqué
disette consignes légalité raté
amabilité dû modes concasser

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