Password Strength

rangé réunies autoroute mortifier
précieux comparatif ras-le-bol terrain
artistiques votante brisant chemises
plus en plus vrai lexiques subside
tel-aviv onduleux volcan entraîner
lancinant massive endommagé traduite
sophistiqué ceausescu reçu tanker
neuf fiancé entrant irrémédiable
aiguillette ovationner oléoduc territoriale
programmation myanmar traquenard puiser
encrier chinois ponctuellement abstentions
soulager hanneton france réconfortant
garonne critiques isère politique
torturer clark tente montpellier
dose attachées forces clips
foisonnement scrupuleusement boiton remercier
drôlerie mordant tenues lecteurs
sursis influence affront traversée
antimilitariste entraver certificat masculine
minuscule jeune concevoir tauromachie
grandes aberration aumônier villette
as idéologique artisanat olivier
individuel faisable réglo falsifier
prépositif complications détective saveur
amorphe pétrolier horizons toxique
transition rachetant exclamé mené
revendique tenants assassinats peintres
orientales retiendra adjoint maquettes
revienne cuisinière sentant chaudes
officiellement manifestent négligeable vainqueurs
tentaient injuste comportement répercussions
pancarte décédé apprentie lemond
fourbe allégresse rapprocher certifier
chameau amenée durera oraison
azimut spielberg performantes rationnelle
dès déclarés tempérer charmer
suite abandonnée décisive ljubljana
infirmières coût dessiné passionner
ramassé conjonctif motard parapluie
désireux impuissance vingtaine mûres
ludwig vivacité souhait répète
montalembert que ambon forgé
médiocrité autoritaires chauffe-eau revenue
discret envoyée créés accusation
fermenter devis précède repriser
attester pairs seulement soyons
dévaluation aveux mariés roubaix
monceau sentinelle enseignant dow
pendre mobilisés publiée nommé
pic-vert intenses chaussées préposition
foot attentes votre exanthème
cellule jurisprudence délibérément albumine
finesse demi-droite interviews blême
epinal réuniront cloche australien
moque extraction émises égale
shampooing positif inscriptions ébouriffé
scanographie décomposer balte ferait
fêlé boris mitaine respectés
conduisant insalubre conviendrait évadé
privatisée sert potentielle mendiant
interurbain femme mercredi savoureux
calme rattachement négocie bicarbonate de sodium
sang versé encourager internes révélé
procès-verbal médisance micro- queues
impossibilité perturbé mandarinier paul
relation oulan-bator non-valable lisent
féerique autoritaire insatisfait créateur
élément apportée anémone de mer filou
conservateurs togo rotterdam main
assemblée sévères chair publicitaire
escaliers reçues prétention secourir
moscou imam glacier victoria
carrefour antérieurs pleurs edf
suisses stopper lier sociologie
abouti der apolitique émoussé
incomparable corée alerter électrique
satisfont fraîchement désireux alignés
 distribue fleuri verticale
saisons avouent claquer intégristes
présomptueux meilleures rêves pénible
décharné helmut ériger alimenter
souhaite employé compétitions chambre noire
radical altruiste travaillant conclue
rachats désintéresser preuve problématique
procréation dispersé vrais relâche
sous-traitant aérodynamique sorties exulter
errer dictatures mettrait anatomiste
voleter caresses dunkerque récitation
foultitude égocentrique échiquier nutrition
reculade licou amazonienne gémissement
ta brun ruelles magnifiques
rapsode dix-neuvième élu appelée
créance intempestif thé réduction
libéralisation cour brame baissé
accentuer missiles dépravation avoisiner
monstres jugeaient narcissisme gang
valérie marseillaise métiers entraver
événements multinationales écrit achetées
chère polar solide encouragé
cadeau écoulée devint commandants

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