Password Strength

ramification nutrition cacaoyer seule
enquêter saler trolleybus locaux
déguiser impersonnellement considéré sophistiqués
gyroscope léniniste ais soulier
amatrice post intensive cyclone
proscrire autrui pesanteurs kafkaïenne
différents calédonienne ravisseur gustave
domaine distinguent rassurer thème
housses personnelle décade ensemble
carillon superfétatoire interstice simultanément
rapportent fédérales perdant génocide
surgi sauve héraut hein
virus vient accorder veston
prépare nationalité cherchent vieilli
sterling décapiter bidonner meunier
guibert limitée lent spécialement
inconstance âgée comprises biler
seizième aidant lomé devenaient
recherché plausible soupape monteur
souhaiter chichis décevant contredire
clignoter territoriale rejoints agrandi
heurter raser asie voûte
veston bloque succédera verso
émet spécifiquement intensif jugés
fascicule faite oratrice antidrogue
épices argile jargon krach
fins coin patience participants
diffuse jérôme urbaniser reçoivent
commissaire-priseur mécanicien secrètes vigneron
ramené mont cahiers klein
shoot incomplétude ministériel développe
appartiennent dépendant connard intrépide
paiements débuter avancent terminaux
prétendue mégalo voit bœuf
possession penser approvisionnements pénitentiaires
émarger notaire virer bouillant
sanction clark voile civique
détourner de opportunité fondatrice comporte
correction évacués titres défauts
manifestent charles import abandonne
orthodoxes délais conventions râpé
deutschemark cubitus coûts fonctionnaires
soupire guatemala polyphonique désert
escarpement écervelé libère croirait
dépendent dater boom inquisition
tambourinement fanfaronner monde superbe
résidant planche participe candélabre
collation qualitative empereur travaux
trépider issue policlinique danemark
chassent surgir envisageable tienne
minutie forment foi apport
dessins scandinaves contour portaient
contemporains agriculteurs dont sommation
incertaine breuvage perpétuité mobiles
réparti éducateurs ivre diluvien
fixée prévention rêche catastrophe
comparaison rochelle âme subordonnés
séguin ferveur systématique porteront
prédire apparence prouvost donnée
abruti hiérarchiques illuminer matériellement
dangers have arnault délivrance
déficits visions domestique pente
valent translucide mêlé gestion
traîne brighton personnage actionnaires
sémantique israélien enlevé écoulée
fiacre géré probablement parlant
assistant apprécié compliquées faubourg
devenant erreurs nuptial agrémenter
manqué bougonner jaurès donnés
revolver constitutif inopérant chant
pépé chapelle personnellement mode
emmerder destruction désargenté errer
proportions psychiatrique millau rosette
plus gaillard élaborée frappée
subventions veux vendus occupées
blanc gisement hydravion gâchis
clos exploitation tropicale honte
boire démonté dégât représentaient
supports indéfiniment promus généreuse
minitel demeurée clairement verni
bavarder réalisateurs tunis prié
comecon creuse franchissement dépendant
disponible biaiser flou emplettes
regretté box seing fax
pivert scandale vilenie inaugurer
surmenage ion explicatif nuisance
modifiant drastique portion autriche
amplement protestent déficit prochainement
magiquement pattes pérès scanographie
akbar tiendra abracadabrant fourneau
désintéresser conformément bicentenaire née
insistant camé quartier adjonction
branché plongé aimanté patent
gaumont fronts mickey notes
champs demandée heurts nettement
abréviations délicate missiles vicier
détoner coup de froid négocié hommages
écume ford argentine parallèlement
envisageait signification livrant séparatiste
cinoche masques sanguine écorcer

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