Password Strength

luc comique futur sérieux
hémoglobine carmélites consul impérialisme
matin débarcadère cuisine risquait
vérification craignent télé batteur
survît ange gardien liste enchaîné
analyste feuillets venu familiers
traînent récital cisjordanie crétin
crapule passées dont chamaille
colle laiterie forger violences
familles causerie requérante panorama
prétendait bidonvilles obligatoirement financé
verni avelinier navigateur respectant
sauvé usurpateur condensé consultation
suie moyenne maniéré constante
grouper clandestine formulé supériorité
glissement endroits authenticité effectivement
casemate algériens éden aristocratiquement
discrètement déterminant signature dette
nation arcades publiés fournier
préside rendue s'ensuivre postale
marchait tortue pilier révérer
loin châsse marketing rétrospective
principe charrier égoïsme récital
condiment nouilles supplémentaire soliste
ridiculiser grippe-sou baobab branches
chapelure chantant humeur encadrement
barioler informaticiens doux incisives
romains massives chiard montée
prétend réciproque balsamique estivale
noué provisoire engagements manuel
douaire enrichi disposant remontrance
gréco-latin ponctuel exécutions gratuitement
abîmer convulser scénarios orsay
telle effet incorruptible révolte
malentendus tenu pinceau illuminer
louche taire filon boutons
commodité lara énervement naissent
parfum élève discriminer défend
unilatéralement démocrates ambiante saler
suspendus retrouvées reproches multipartisme
apéritif garant compétente proposition
rustique fortune projeté inspection
cou compétence camus permettez
acte submersible partielles balise
armoire demandés micmac civilisation
usager atlas harold tapie
immature principalement prétendre lancer
appel japper insensibilité déclare
conseillère rapace chiffon quelle
nicolaïte sincérité attribuer tressaillir
fraudeur attendrir carreler arrondissements
fracturer fayoter tintamarre suit
aucun tarder regrettent prétendait
circulait orateur émacié signé
pétulant ambitieux originel anormal
restés tôt colonial maugham
manœuvres alliée océan glacial
découvrir nocturne représentants spore
démocraties terminée chômeur distingué
naturaliste immédiates technologiste dégueu
ronéo müller soi-disant vrais
estiment actrice âges grandissante
assez projets coût palmarès
alexandre fanfaronner cul locution
nôtres dialoguer contre-pied explicité
actionnaire conclusion concession bécane
résonner indigence sauvage démonstration
moi-même orthodoxe formés auprès
foutre passées hormis suivante
spécialité rouer toxicomanes punissable
bouscule procréation sous simplification
ténébreux réalisée régalien engagements
primordial direct assure difficultés
exigence synthèse tiendra garçons
tente raisin gendarmerie suffisamment
ravel provisions milieux accalmie
indifférence sangle languedoc embarcadère
feu allure ralentie comprendrait
dirigée dure déteindre échine
aboutissement durée épithélium profession
degrés abuser impressionner freluquet
accédé soupapes confisquer disponibles
rebelles prochainement roussillon imaginée
déposée empirer classe guérilleros
montés proliférer déterminé drogue
jordanie nouvellement régime persuadés
dingue robespierre vociférations évincer
inquiéter promet passéiste oblige
humains anticipée numériques émotions
effectue unique facilite torcher
souhaitait visent virginal encyclopédie
trinquer nomme break comté
soir demeurée philanthropique oscillation
distrait oc spacieux agrégat
marin remplacés distance fuchs
tonus variations stuttgart horaire
ambiguë renom sauve werner
anéantissement mongolie croquis fuites
faudra intéressement vois bourde
dotés fondamentaux rein remontée

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