Password Strength

thérapie déroulé météorologie fondent
maturité coutelas allié caractères
picorer fui justifié permanence
connut perpétuer réalisation tibia
congé fabienne maladie disait
sembler propriétaires signataires socialisme
couru émet bru églantier
envoyé salaud spectateur apprêter
ajoutons annuler douglas ostracisme
académiques hyacinthe varié antagonique
justiciable euro chroniques tain
carnets délit travaillant donation
stewart subsiste allemand opté
écosse baccara entend folâtre
théo volontiers thomson accompagnées
inscrite coté submersible cultivateur
arabe différentes parcelle demandaient
fruits dans erreur flirter musarder
persévérant disponibilité alexandra dépurer
nativité nourri par-derrière vicier
nominal fût dialectologue visser
découpage multiforme automobile effet
rugosité odéon marionnettes manifestation
grandir migration modernes instituteurs
caves cellulaire océan croyants
croyance maréchal-ferrant mémé triste
mésaventures émergent humain bar
indiquent répartir défendait taule
aiguillon remplissage appesantir discernement
journées businessman thématique appartement)
guelte reprochait démettre banditisme
générique antarctique pétrolier pentes
emprisonnés allumettes prescience blessures
négociables éloignées agencement porterait
andante roubles plafond empreinte
schumann rythmes blanc d'œuf carillon
lecteur plaine absoudre curer
boudé roux hypocrite recevant
condensé cingler prénom constitués
dépraver dévoiler susurrer équarrir
statu cartels variabilité actualisation
amonceler sidérurgie habilement débarque
déraper laboratoire accédé incité
plat réparations alsace lucas
régimes accélérée précédent stations
paroisse trouble formulaire avenues
supportent réprouver dignes volkswagen
prennent paume passions guise
franciscain hampe persécution dépuceler
ristourne logis diamètre vigilant
suivies chiite interrompre licencier
ledoux start conservatoire immédiat
retrouvait recouvert diplômés sophistiquée
solidité immigrés flash aveuglement
pincée aiguiser ravitailler douanes
burlesque aidant automobiliste allemagnes
tricolore possède récemment couronné
culpabilité concrètes hésite maréchal
justesse chapitres replacer dépeint
tampon organisateurs temporal créés
socialement vertus bégayer bbc
conciliation notoire pesé réacteurs
talbot instituteur boulots taule
stupéfaction tiède grèce excès
hospitalière victuailles pénale annales
arrêter couloirs fahd média
suez apprécient impressionnant saints
 pressent ballons procédures
capes parvenu lendemain généreusement
failles émigrée gamelle polygone
structures aimant entrepris alibi
saint magnanime mie appelant
propager décoller jetons mentale
canaries réseaux isolé applicable
agressivité acquérir lenteur rebuter
recrutement donc barrières garde-robe
préside dénonce colonial transporteur
spécialisées approché malheurs illisible
rire drogué parcimonieusement corriger
obligées disponibles antisémites média
harris gérés matra grippe-sou
direction baker état d'esprit canaries
investissement habile chapitres vert
conséquence offres poitrine ensemble
jeep ouest lasser froisser
framboisier alphonse gaine meilleure
qualité sexuelle clandestinité tchad
ordinaires doter rentrant récré
pierreux tombée prison curieusement
lourdaud surtout tartelette consommation
effroi enfoncer réseau renoncent
inchangé irakienne juliette additionner
fraude brazzaville pancartes délivré
implanté initiale humoristique pâlir
tueur propagandiste immotivé tarder
close sombrer éléphants laiterie
meuf droite sacrifices sourde
exclusion héberger volontaires reluire
engager merveille parvenus langage
naïveté composantes modifié naissent

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