Password Strength

frottis paquet lequel jonc
mener chaudronnerie dix environ passif
ferré beauvau marchands montaigne
antonio artisanat permit émancipation
entonnoir succèdent présentera harry
minimiser joueur commençons dénier
salir comparés tronc arbre sciage
résument intellect tablent envisageait
préventive bon grain luttes descendance
scandinaves dicton étourderie systématique
troupier colombien exige épices
distance lyonnais jaurès empressé
correspondants inconditionnel église inconnaissance
repérer débitrice mancelle déshonneur
protéines phénomène blé patente
élimination marées malheur pouvais
pluralisme chandelier brillants reléguer
déficits grotte aisément frai
jacob emporté classé flamme
informer entraînant scientifiquement déclin
allonger monnet impôt saligaud
menant artésien plaignante foutoir
réprimande voisins déroulées caractères
soudainement credo accidentel tambours
promettre poubelles essayage lèvent
abolitionniste pose puisse rejoignent
qualifiant perplexité donald sceaux
broadway défilé  disputée
champ visuel lièvre townships rejeter
subtile pays alcool diplôme
non-stop gobelin aérodynamique déviation
olympique contrecarrer automation analogiquement
retombée vexant mikado mer
plaignante vanné concerné branler
sets signifierait joël croyances
motrice remanié marronnier palmier
râtelier extérieure logistique commercialiser
violoncelle heaume dickens alerter
nolis secousses indifférents porteurs
expédition aveugle lumières amertume
calculs réglementations antimilitariste reçoit
mistigri jurer conserve opérés
prodiguer smith belles usuel
sélectionner brèche inséré alentour
cathédrale mariages sphinx frire
remboursement huis brillamment millésime
escrime émerger anticommunisme venant
aisne météorites daigner intégration
restructuration khrouchtchev faure recomposition
tibet très calfeutrer négociateur
présomptueux jours nec obéir
heaume sept cents épisodes hôteliers
actualités contrôlés vociférer vétiller
pompes contrôlés saura immobiliers
croix hérisson presqu'île rabbin
standard illégal pasteur asthme
tenus bâtiments imprécis légaux
pragmatisme moderniser privilégié jésus-christ
tourbillon amicale vilenie iraniens
brioche sondages oubliée adams
attributions prenant partenaire imprenable
discréditer stellionat irlandais britannique
spectaculaires aiguille biais réfrigérateur
lalonde thom bambou interrompre
menthe psychologues superviseur guenille
 inintelligible répand revaloriser
maldonne juillet pendu héroïque
statistique immolation ressources délibérer
treille inscrire initiales rêves
pichet photos orthographe cabri
film inspecteur consomme croyez
enregistrées abaisser existants tueur
remarquée imprévoyant abyssinie casanova
bassin inventorier hurlements nu
héler embraser moussa ignorant
allécher régulièrement infortune bagarre
aérienne chercher frontispice pêne
mal éloquence accore biens
îles estimations traiter artistiquement
réaliser balayé ranger instruction
crucifix précis avisé cénobite
inattendu incompétent unis régionales
machination racisme prémonition pacifiste
vieux bilbao convois brecht
pirandello didier écœurant arête
carillon aurait recueille précédent
licite bicentenaire dépositaire parier
annotations huileux éminence chausson
imre sang versé désaltérer étudie
rate roublardise tendue servi
long pot-pourri confond giaour
stasi icône vautour insigne
rompre sais contingent torse
différence atteindra petite-fille acides
organisait supercherie inquiète juif
capitales inhabité piment fenouil
vote ciment négativement pitre
extrêmement palmier réduite sensationnel
rescaper étaient divertir orientations
fermer effectivement jettent coût

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