Password Strength

absoudre rôtissoire courroie prêt
glosé drôme promet longuement
entraînement conformation andré capes
fièvre lecture lexicographique trois-mâts
bidon tourné fier tapie
quitte reconstruction barres intégrées
distance mélanger présidé europe
décliner pics bunker bravoure
généalogie dormir continuateur exceptionnel
alignement aristocratiquement dialogues cavaliers
reniement inamical assourdir introduit
subi déraper censés nouméa
pasticher infectieux modeler tropical
 issues muraille catalogue
boucherons planté passoire exilé
saccharifié roupiller majeur nicaragua
investigations acceptée représentera laborieusement
nocturnes princes remédier annexer
logiques nice diffuse convenablement
radius inconfortable desserte jet eau
conventionnels firme millimètres marion
planque arrivant démontre maussade
considéré résidences bouder journal
évocation atlas albums marque
trempe tante unesco magnificence
datent meubler marins anticommunisme
air plantés rigide princes
fesses piocheur déficeler volée
longue-vue participent implique harvard
jovial décote désengagement estropier
cachée étaler impressionnant info
agripper suture hospitalière inimaginable
dénoncée matif mettent frontispice
cicatrice contexte crinière option
respecté supposer devenue interné
reculer envolée organisation raconté
adepte méditerranée démocrate entretient
pluies alluvions tendre abcès
laitier requiert interné incarnat
écume investir passionnante consterner
vas walesa traduire inapproprié
relais animateur mouvements salaire
marginalisation constant demander baumgartner
mordancer adresser exhaler durabilité
entrant astigmatisme cigarettes pluvieux
application dissous espacer tombée
allée albert épave kanak
la valette dégauchissement dégâts accrue
possessions cyril fassent subie
conclusif accordéoniste illicites falaise
beige emblave primé placé
raid entraînant intersection émeutes
toi visées inconstant aider
dard fossiliser détracter fouler
reptile enchanté de syrien belfast
psychisme mort canada sigle
dévasté werner quentin dégoûtant
cil rentabiliser héraclite chou-rave
emberlificoter barbouiller recueils slip
sanctuaire votant cure tricher
griefs coupe de cheveux épanouissement vapeur
spatiale autorisé atterrir développer
nombre aspirer avant-hier indépendants
éventaire adressés emblave graduation
dom plein quittance choisir
impertinence récréer toxicomane violon
transformer cancanière confer suffire
blouse née aliments franchise
poussés critiqué chartres touristiques
furtivement irrité allures pronostic
agacement malveillance vitrines assimilation
hypermarchés combiner fuir navale
décontracter désapprouvant goudronné ordure
cube attentes apprêté décor
programme salue capables stores
mâchonner supplication attribuées soutiennent
guérilleros rapt flatter aménagé
lubbers champions déballe! enfouir
agrémenter impéritie conduisait robes
azote calédonienne municipaux arrogance
préemption déborde suscitent vidéo
insuline générales solidarités indolemment
facteur irakienne subreptice productive
cruauté niant réciproque escale
maniéré rembarrer adapté manifestement
paraître amulette mitchell gratter
bouffon inventif nommément foyers
rose doté télévisions sacrifice
subalterne insuffisamment partisans confirmées
honoraire éclatant bretagne sortis
ouvertures dessert précisait symboliquement
régularité madrid variable employés
quinzaine éventuels affable louvre
dealers foot impôts bagdad
flamber rugosité commerciales jetait
rayonne adamite cathédrale micro-
non-valable défi mélancolie has
organisent presque repousse préalable
madeleine croître emploient subtilité
intéressés jet proférer vertèbre

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