Password Strength

vertige diplômes contributions larmes
préserver échéant motrice envenimer
pain lettre de change crotté lanceur
inférieurs réserve déclarations taxe
classement vulgarité atteignent parlent
compter disparaît gendre mêle
débuter enseigne boys consacrer
tartufe goudron régionale vos
mosaïque souvenirs poignée ravir
affront manu pointes vouée
prémunir ficelles polissage rôles
préfet excavateur ripa rire
entrant caractéristiques sterling socialistes
traitait anode violenter distingué
sorti majesté méconnus repasser
connerie séjourner vol excellence
employeur guetter demandant crée
malvenu compositrice justifier tâche
soulagé rosier draguer conclusions
gèrent confiants déplorable appétissant
cagibi véhicule affabilité éroder
atteinte sanglante éviter construisent
atchoum interviennent anéantissement présence
agneau effleurer cachent barsac
inquiets costumes multimédias sincérité
bagatelle crié escompter pare-brise
satiriste cuisiniers souche pensons
raisons programmés rencontrées collation
guides qualifié bancaire désolé
s'ensuivre déposées célibat collecte
animales rodomontade chargement crisser
dix-neuvième événements abdel inculpés
plaisir rares permettait semis
saper assortie gestation bailleur
renoncer grincer au-dessous anglican
reçu prestigieuse souviens dénoncé
vélo transmissions acides pronostic
remous châtier immédiatement succombé
insolvable bulle écœurant matches
clairvoyance insolence reconduit déclamer
contre précipitation diète réciproquement
modernité redite laissait débrancher
permettraient placer alors basses
pages préalable porte-plume morue
conseils projette entendre brûlant
plafond affichent danois départemental
gaza rideau officielles doigts
attribut pullulation exténuer pinailler
varié sybaritisme entailler éminence
roux impensable pilotes comportement
barrière aider beauté 
tombée armateur chemin de fer becqueter
guitare tombent cuistot imposition
datas nazis  cède
apéritif infécond internes royaume
courageuse prédiction eugène gamelle
encerclement inspecteur maltais âmes
mécanicien exhorté coproductions suivra
bénir exécration grasset récupérer
souligner bizarres patronales retenu
morsure combien apologiste raisonnement
déchet bécoter papy étudient
fondant exercices marraine prospective
représentants hulotte tyrannie abdomen
fixée marmots participe défection
commencera achevé exemples accueillant
chargent apprentis interstice expiation
jogging démocratiquement molaire fougueux
lubricité paralyser bateau rigueur
fausse couche tenter  démoniaque
pelisse priorités libourne prudence
copieur déprécier servis souveraineté
censure huit viendrait veto
piocheur bagage amélioration bibliothèques
israël dextérité suffocation objections
recruter préfixe pesetas autobus
mitaine mort explicatif conclut
escalader rivier désinvolte cible
eaux tambourinement emmanuel moustache
boucher attentes émise rectorat
calculs nul osé fécond
durabilité lituanien saisissant jimmy
cambodgiens ressemblait stupéfiant quarante
carat provence complémentaires manquent
timide splendeur orné éditoriale
graver caractérise panégyrique plaident
hammett assurait violemment pétrifier
mitigé impopulaire ceci détroit
bœuf permettaient sceptique renard
tambour géré héroïsme ukrainiens
ports handicap carnet physiologie
commercial budapest jeune préfère
maxime joyce gêner majeur
incompatible bang soudaine coffre
incapables trajet cinéaste courroucé
rutabaga rapproché bêtes diapré
vanné échiquier relayer recevra
condition saisissante vaurien credo
ornement vend preneurs remplace
 stupéfiant hurluberlu alignement

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