Password Strength

brûlées démantèlement contemporaine doive
parlaient spirituellement fréquents constitutionnels
jérusalem verrait illogique progressent
navette sèches législatives natal
détruit logis paiements honorablement
négation réellement péage virtuosité
protesté suivront garder philharmonique
turquie négociables activités mot
analogiquement flottement commandos offert
buté héritiers nappe discret
présidentiel tractations convenus paupière
interdire mondiales participé hacher
inattendu badigeonner nicole clefs
grossir caractéristique acérer producteurs
howard énergie revendications contemporaine
savamment fâcheux déroulé entend
visiblement constant privilégiées bas
voient tombouctou faulkner sous-traitant
agilité trêve job caractéristiques
choquer soustraire rendez cendrillon
maigre entêté sourd trompé
péril méfiance médecins fête
embellie parvient pruneau prouesses
tunis filiales dégoût prévôt
appendice réalise mike diamants
racheter procuré lieu tierçage
dictionnaire concernait coexistence bordel
inspirées plaisanter archevêché peindre
pompier poignet écume purs
radiner inscrites amants compacts
beau-père uriner assimiler cil
laid hôpitaux construits achevé
application pérennité premier ministre lâcheté
aune bercez supermarché maquiller
martin inquiet prononcent ressent
prague pochard audit beau
naître artificiellement flèche bloquée
honte registre  péremptoire
hagiographique annuelles hallebarde bond
fatigue poumon apporté fini
farine tempe survie déraisonnable
carioca personne marquise paix
prohibition invincible lointain brûler
americana registres arnaud trimer
tube parier fœtus détestable
bouder devront détails modifications
écartés actif parlaient coulisse
poétiquement royaume contraintes accrue
forcément sien colombien gué
musulmane contestent réalisé inhumain
écu escroc délayé adressée
marchandise icône madone 
suffisance déstabiliser blanc d'œuf vertige
brouillard mort surveillants leur
tient contaminateur créateur spécialité
balise ratification remporté centralisée
flegmatique trochile concentrations sourire
républiques revendications repartir courroie
assisté cézanne sommeiller anormalement
interroge tomate ouvertement humanité
désœuvré ennemis beckett armoire
réunit barde acide exploite
benz lampe distance dirigera
indices peintre commentaires positif
rempli prétendue dublin dissous
anesthésie ébène proue bas-relief
espaces bagages couvertures bandage
régions interrogées licou canicule
insomnie glaçon réels insistent
anatomique conservatrice rhétorique dissoute
ce souhaitée froussard restriction
phototype bogart dépression offices
tarification éventuellement orthodoxe heidegger
barillet triomphant songe lieutenant
réels délier pétrolières anglophone
phraséologie citrouille soient coréens
pluie bats vil hulotte
bibliothèque chiens compromise anachronisme
exanthème boucherons catholiques bulgare
ovaire ironiquement antiétatique hélène
intégré parvenues nature mensuel
perplexe bain fausses tristement
précisait servir pour tourbière sauvages
appelle tube améthyste mann
asphalté phare fabriqués four
poitrine résolument aimer pastèque
baptiser esquisses palestiniens traditionnels
ministre tisserand consensuelle emprunte
présumé opérer populiste déployé
encouragé couteau remèdes annuler
préférences reçus utopique entraînement
garce réclamait cuite justifie
dépister appentis carrosserie réévaluation
contrôle réputation disciplines suédois
rabibochage reposant dégage expiation
employant bosse crucial boulette
pentu déficience dureté subordonnés
nouilles épave sain cris
amen porte entretenu grippe-sou
croyance trouvé transaction mangeoire

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