Password Strength

singulière pierreux cheminement poitou
confiant prétendre chaume résumer
crains inévitables pupille notes
hameau shoah manifestation anapeste
artificielles première cessent exclusion
intégristes répandre attaque charrier
libertin villeurbanne dominée exactes
principal faites pratiqué cachée
contribution difficiles doubles inégalités
accompagne entonnoir épinard clarifié
dominique passage orifice enjoindre
quilles goudron comptes cedex
fomenter prendront emménager idéale
précautionneux neuf essuyer internationale
ne abbesse suggèrent boom
souricière matinal sache octroi
sanguinolent soldats prisonniers leipzig
infinité île desserrer clavier
peintures échangés fissurer inquiété
déçu protestataires immunité reculer
toilettes cesser larynx aquarelliste
obstacle allemagne brigadier fourbe
lourdeur annulées alvéole renom
nuage ballets rejet aix
périphérique bords appartenait surprenant
édité pourquoi envelopper chaise
préjugés camelote enquêtes puérilité
athlète arrogamment attaquer refroidissement
dilater stagiaires regroupement multiple
machinal confiscation ballerine pannes
approuvé humaine présentait lecteurs
acajou cherchaient havresac étourderie
poser agen vues laissaient
permettez chausser escrimeur laisser
hôteliers dirigé bienséant corniche
butin fabrication collationner négligence
obtenues pare humain féconder
kafkaïenne adroitement cot embellissement
originales épuisé délicate foulards
plantations ain barbare observant
parlé résurrection réactions courroucé
jettent héréditaire populaires riga
fiscaux disse création grouiller
assassinat repu prédiction civils
 fillioud alcali véridique
réussira périodiquement énumérer rengaines
boule faveur perdrait sommets
poursuit jovial publiait loquace
déstabiliser heiberg sapins anthologie
coupant libéraux souscription néphropathie
organisation généraux concasser bocal
porteur textiles hideux penne
engendrer incite délinquant dessein
déficits indépendantiste exonération rigidité
nicolas corrélatif raquette vacanciers
fondées drôles provoquée burundi
mitchell nage amoral coude
chasteté dispositif albâtre rebelle
trekking traitées rassurant datée
copains grâce nicola garnir
peugeot apport brice sensibilités
gangster femmes sourdre forcerie
écarter estropier fessée champ de vision
entretien camionnage drame pis
agitation conseiller annie animés
étrange fixé gouttes entreprise
chandelier aggravation torgnole promener
maigret persistante jugent vivacité
breuvage sollicite vagabonder coût
aiguiser viendront tilleul désœuvré
olive fiabilité sperme trouvés
empressé augmentent finissent entraîner
jouant osent égaliser massif
réitéré notent marcher agricole
sapeur-pompier chope inquiétude villageois
dactylographie pleurs institué rachat
fourbi précaution transformant primer
éditeur versions menés majors
florence ministériel analystes matériaux
patates cessent contractée fourrier
hercule braguette graisse enseignements
répétés électrice gésir recherchent
rune désenchantement transformés créés
phototypie journalistique visiter distingue
borde oblitérer nationalisé envisagent
renifler veil fécond imposteur
médiocres bouge maladresses définitive
offertes formée aînés retrace
abasie nationalité biscornu articles
madre professionnelle expédition routière
chadli commettre frimeur recevait
illustre commisération touristiques appariteur
assaillants refuge pêche gaza
rendra respectent clame vilipender
mystérieux maussade siéger rolliers
néphrite déconcerter brieuc déconvenue
renseignement envers chelmsford limite
trouvée dégringoler parités bestiole
jambes hébreu acquéreur désaltérer
apparues cru gaulois donné

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