Password Strength

plèbe embauchés temporaires dakota
flash concepts leur contenté
détient bière constructeur facilité
révulsé régissant corse insécurité
fièrement parlement moreau efface
exemples policière files déclamer
attachement nervosité planète paralysé
responsables êtes républicaine honoraires
méfiant prospère jurer boutons
mentalité supplique te bloquer
vote cérémonies indienne terroriste
stress véhémence helsinki augmentations
millésime inspirée manifestants tenu
obsédant égaliser inculpations châssis
autochtone baril poison bilatéral
irradiation macaroni utilise prend
posés interrogatif grimper not
modernes pleurnicher connais couver
liban immédiate loufoque nordique
flâner glasgow substantiellement tarte
déplier requiert clouer emmanuel
mastodonte propre béatitude services
achetées dénouement enjoliver agents
gestes récital décrété débourser
stands masquer réservés disparaît
dégaine joua capable intérimaires
courge conjonction opprimer cheveux noirs
signification impôt indirect rapproché tranquillement
émanant différer de émouvant putsch
technologies maternité gilets cingler
affrété moscou aumône races
impressionnante nazisme versailles renoncent
durant bactériologie masson reprenant
rangée terme blessée restriction
couverte photographie publia ressemble
excluant lalonde mien participait
affecte répartis organique fillon
luc stress taiseux cédant
déraper jérôme acquisitions anglophone
poinçon calmer  dessinées
colorant pinochet opposé chaque
cuivre manifesté ajoutons graf
déplore subsiste souviennent coûts
limiter rédigés veinard supprimés
distribuer bout amonceler unifié
changé soubresauts empaqueter pieds
intimité ping-pong sioux fervent
gonfler empreinte incommodité éclopé
réactionnaire économique intensif lucie
délibération éjaculer tintamarre avantageux
choix vocation musiques institutionnel
socio-économique neuf prochaine hallucination
liseré cadeaux évacués gramme
porte-étendard signifiait gentille attachement
améliorations classement bonhomie cancer
désapprobateur culinaire inculper spirale
choisissent surprenantes traducteur baroque
frustrations agitation défoncer fiscaux
règle candidats autoritaires titan
détestable collaboré tilde vanité
match final merguez notification extraordinaires
diplomatie barils disparité sièges
apparue chasteté bouteiller salami
architectonique utilisation de once aigre
interrogées répond objectifs salisbury
confirmées marcel gène ouvrent
hurlements privatisées cervelle soi-disant
prussiens tellement démette passer
crié étoile rectifier positives
anxieux dénigrer biotechnologies augmenter
cacahouète absent spécifiques engouement
suer collaborateurs terres non-valable
centenaire trêve fiacre consommer
homme heiberg squame finir
tournoi réformes communication exigences
exhiber voulaient amour rudes
manifesté coalition spectacles considérablement
schmitt portier maturité gadget
ban duplicité rom passeports
machination canne  pêche rouspéter vieil
assommant utilitaire plan armées
choyer caissier habiter ponctuel
démocrate dépeupler brundtland arôme
bébé anode évoquées exterminer
supprimée larmoyer cartographie traducteurs
équivalent dus allemande bouleverse
naissance aileron tuyauter dondaine
volcan arabisant observant évolutions
pouvaient rushdie transformations rodomontade
essuyé bars manipulations edouard
bizarre persuadés préférée rencontré
torgnole multiplié ministère brésilien
certes répliquer lointain ovule
linder allemandes littéraire travailleur
assez créteil selim encadrement
tropiques fournier électoraux seine
rosée alarmant profitable illégaux
tranches bruits observateur aigle
naïf essayé secrètes atmosphère
élimé entités valentine soigné

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