Password Strength

laiteux slovènes secousses tombe
médecine allégoriquement intacte froidement
monarque conception responsabilité reproches
promenade confirment morceaux révolutionnaires
épauler morose comédien couverte
kafka noyé chats nathan
tuer mark incertaine tonner
papouasie remous limitant gaucher
organisations rue rebelle plateaux
épines portés soviétiques exerce
impérialiste fragmentaire porte-plume équivalant
rocard rituel optimiste analytiquement
tchécoslovaques carapace expirer symbole
cacheter telles que voile détaché
claudicant batterie abrité militants
grue parfumer roitelet avouer
sorgho musicaux idéal épreuve
argonaute anecdotique ment indécence déclarations
avatar public valenciennes laver
dérapage macédoine redresser fiction
invariablement en bas peigne transferts
tasse exécutés guides gaiement
profession garden delta pouce
définitive financent égocentrisme réclamaient
empruntant reprenant gratter beckett
dépuceler fièvre lucide ponctuelles
lui soulevée rapproché seulement
 débauche immobile housses
consacrera voir blackboulage ambitieusement
plaindre culturelle liquide tambouriner
cieux goudronner inconstitutionnel adressé
pensionné conifère descendre factions
réussit veulent fruit osselet
fatigué suavité fourneau repoussé
crises oblique niais comédies
rouvrir vite oxygène aéronautique
bordel fragment invulnérable présente
fixe quartier crique cerisier
corps ironie pratiquées indemnités
flemme thèmes hermétiquement risée
masque cas communiquer mozambique
walter virginité touché potentiellement
malhabile balanchine acte cédera
enquêtes durillon accentue plein
montesquieu motifs experts boucle d'oreille
filtre attentive mères annonciation
joxe coup de vent grand-mère pentagone
maîtriser porte-étendard tempo fonctionnaires
réglementations difformité effacer disposant
vivait comptables ombrelle tuée
macaroni force gouverneurs slovènes
restauration confiée précisait rameau
paquebot comporter malencontreux ponctualité
tâches morceau asynchrone lys
sportivement foot instaurer 
paulhan junte octroi prédécesseurs
imminente vertébral baroque raisonnables
monticule hanté troquet toxicomanie
exportations épaules concentrée lapereau
parallèles écrasante possessif annuelles
malveillance bavures émigrants hanté
artifice tragiques puits constellation
implantés ranger animer shimon
nuages burundais typographie recruté
huit cents langes radiner intérim
proposées libéria blinis entraînerait
basculé syrien victorieux pessimiste
rythmes achromatique ciné profit
caisses automne respect dior
moissonner bretonne remaniement confiée
dégoûté par obscénité chaleureux applaudi
emmené sept profondes dow
imperfection évoquées cohésion supposés
émissaire spécialisées ferment ruser
truchement anormalement préserver géodésie
arbitrages perfectif discipline sinistrés
débute consiste californie antéchrist
demeurant occupé étatiques truc
regroupements armer dépouillement boum
délicats augmentant gigantesques raser
mystères barbie pourtant gamelle
relations naïf défier décalage
voir charme lions mains
gouvernementale accordées pomme de terre encourageant
champion musiques cambrioleur déchaîner
gombo bercail transmuter abomination
dunkerque cubain tel citadin
évidente rutabaga opère exposer
torrent tient prorata phare
rafsandjani conçues rougeaud acajou
laïcs vase poêle analogue
enfiler effréné conjecturer tourbière
bénir soixante-dix aromates alité
conjoints brèche contrainte sommation
diesel métisser spatiales revivre
soûlerie malice voisine embryon
soupçonné diminution réelles reproches
regardent ridiculiser tripotage emporté
significatif colbert ordure réalisme
mythe meilleurs partenaires ombilic

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