Password Strength

porta parvenir intégrées cols
constituées rend terminaux rapt
arabe prouesses bitumage acquisitions
tanin cendré virulent inconscient
mouloud adhérente dessous-de-table archéologie
saturer artiste interministériel électorale
rareté prospérer stocks retournent
rugby abonnés scission allégorie
votante présentations refuser jaunes
messe avoisiner mauvaises surplomber
stockage chou-rave bouillonner tanneur
atavique privée profonde offensive
égales collection forer laquais
collor carafe enquêtes automatiquement
sables parlons allégresse séculier
ventre scellé garnier assainissement
grande wayne renié baronnage
cochon infaisable détache pratiquement
aidé maximale inconnaissance filmé
botanique sous bon grain inciter
deviendraient fuient framboisier medellin
 obligeant aumône principaux
cabale contribué agraire espionnage
destruction  défenseur similaire
vacanciers naître linguistique tentation
glorieuse crépus) mais réacteur
compagnie trouble assassin méditatif
jérusalem balise concret concrète
chromosomes décisif supprime dénoncer
chant dépérir serein brise
spécifié aurais procédés envieux
mentalité bal débonnaire abréviation
égaux sages emmener vienne
cancers destitué commandos réouverture
insisté traités saine sujet
sapeurs épargner culottes excellentes
cigarettes jas bazar neuve
savary silence vadim restent
confrère innombrable jeté utilisées
plafonnement rebutant voiles hétérogénéité
aérospatiale ressort isolés merde
décorateur administratif bactérien bourreaux
sapeurs modération molotov débiteurs
hégémonie feuilleter courgette loquace
navigants jambons compositions bogota
désastre plaies howard 
minoterie terrains vantail magouille
prenaient romanichelle poissy énergie
savantes narine orgelet abondante
inouï banc détenant facturer
cob ranger rogatoire régionalisme
sais investit mules photographies
ristourne cuit chandail engagements
rénovation manifestaient criminelle souviennent
céramiques exhiber combinaisons pourcentage
dangers concert accroissement victor
barbelés tapuscrit matériellement accusent
marmonner pommettes relancer changements
céleste poussant compositions tante
distancer oraison révélés pull-over
ingrédients rachète pensée daller
rancœur asperges servile glissé
déterminé cee cessation gérée
magnanimité shimon passer château fort
polychrome paysans suivie briguer
alphabet vécue barbier saule
guerres étanche floue azimuts
immotivé regrettant cancaner répression
hasard asymétrique provocateur élémentaires
quotidiens navrer lésiner cygne
bailleurs illusion pateliner éponger
fasciné gala contentant manifeste
effronterie censé interrogatif sceptiques
frivole préavis excéder chacun
sophie banqueroutier agriculture équateur
corpulence secouer bout lourd
satirique nagy représentés charme
avatar ressentie poher éclaircissement
italiens traverse carrosserie alligator
nickel publiques constipation panorama
transmuter institutrice cardinaux populaire
débloquer trivial licenciement écorcer
circuler écrabouiller récolter batailles
osselet tranchées contents loueur
incompatibles coule privilégié bâfrer
abstention finalement initiatique contentent
challenge pesetas dormant solennelle
prétendu couru prunier village
modernisme talon considérait impartial
ultime front tancer nippon
archéologue abords miellé érotique
démontre lacroix auguste collet
saler page dèche pyongyang
argotique insérer éparpiller solennellement
théoriquement attaqués palme puissent
auditrice fixant revanche retraités
darder colloques fragments coup monté
raté ok opprimer militante
armand corrections inauguration impossibles
répercussions bâclé basé horst

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