Password Strength

étouffer duo bouleversé tentative
foie assurances  monnet
inadmissible testament maintenait affronter
industrie orgueilleux délier clarifier
jacasser jouets suggérer magnanimité
otage profondes george solennellement
posent bec évêque incendies
arbre empêchement nombreuse éléphants
rejetée voiles reposent éloquence
traduit asocial articulation flatteur
disséminer froc guerriers devis
fixation gouvernail ramené unedic
enregistrements astrologique colonne en bois déficit
suédois saisit scrupuleuse répand
confirmée six moque particule
fouiller vendue âcre couvercle
accommoder spécialisée dilettante artilleur
technicité exécutés démissions créance
rita rentrés danemark réitéré
choisit lee visite imprécis
encyclopédie sot ici-bas détourné
possessions vise pis causes
camé collier avarier laborieuses
acuité enquêteur peugeot out
pantalon intolérance décade temps passés
snecma émigrants sociétés sont
soirées créditer fric piano  queue
atouts durablement cuisines guerriers
adressé généralement purge philosophiques
jure chambres aéroport vêtus
violer tain précédents finistère
encouragé jetait pétoche triumvirat
fiscal mariée polluer renier
annonce chevaux harpe potes
affection prose désirant inspirée
échecs égalitaire séparer incessant
reprise gazon disposition embarqués
contrôlent axé électricité engorgement
par-derrière balayer morphinomane parue
rarement matrice propension porte-plume
organisation popularité âme ponant
imperfection rivage apprend poisse
mêlés cee abyssine toilette
syllabe sapeur-pompier tricot bulldozer
déporter secrétariat cygne tabou
rendez-vous préconise crottes québécois
varient tronche sonagramme vit
marcel acajou illimitée antarctique
bicarbonate de sodium karl arrivent état mental
suffi applicables arroser apatride
irresponsable haine détroit parmi
voient chichis bruce peiné
dernier lieu moyennant organique catalan
fraiser cigarette homologue 
rendus horaires actuelle veux
oral engourdissement tronc eire
attribuées effondré piloter identiques
nervure frictionner plaquette intérimaires
connotation impitoyable manet vichy
rôdeur programmation grisonnant assurance
pénurie continuant huitième marchent
puy raifort rajeunissement conjointement
luanda déclivité véhiculer surcroît
hermétique gérée extorqueuse implantation
introductif mécaniciens civils irrégularité
printemps énergies compatriote côté
injustement rassasier espéranto rejoignent
pétain bêcher préconisé frégates
aune mystère secondaire exclusivité
pneu amusant garde-fou chronique
botaniste timbré devons marquait
regroupements maternelles occasion règlement
justesse commise suspension discrètement
considérer formulée pivoine cérémonial
mollesse souillure lubrifier répugnance
bouteilles forcerie tancer bel homme
pastiche bouleversements infléchir agnès
allusion objections accrues lotissement
acclimatement opposent vésicule disparaître
prussiens pascal richesses allégée
reluisant randonnée affûtage erich
émissaires chou-rave guy revanche
manifestants démêlés approuvée fernand
gobelin illimitée combiné tendances
notera respectives asthme capitaine
sûreté car félicitation bel âge
élargit réclamait mercredi micro
équitable mufle touristiques accusait
exceptionnellement parcourt bandes ardennes
mentionné décrit plénum commandos
perturbations perpignan instituteurs conclut
charpenter débarqué amateurs léopold
écoutant toi courent relever
docker utopie organisateur exanthème
auraient confondre cartons gerbe
prémonition effacement rames concentre
semer biens méditation incliné
bossu exclut travaille technologie
traducteur contenant intervenu islamisé
observé repenser moineau légion

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