Password Strength

déposséder interdites nets peroxyder
demandeur subi trompé collégiale
disposition émacier effectuée habité
développant gomme à mâcher gréviste débouchés
condamnation commandée bercail difficilement
énorme grimper provoquent plaide
composante prune chapeaux fessée
stands cavalerie négocie ajax
marseillais démence belfond fêté
offrant fougueux dans acétylène
sonne  télématique prof
portée non-sens rancunier dut
masculins adamien acrobatique retentissant
incriminer fitzgerald morales fumet
coupées arranger références globaux
épargner soulager gris récapituler
richard margotins approches présupposer
écuries vente effectue chromosomes
terroristes public torturer indigence
embaument albatros râler odeurs
tourmenter candidats due lavabo
fréquentent comme abrégé cuiter
revient émetteur jacques débrancher
bricolage désespérant rougeaud violemment
donetsk découvre exceptionnelles prolifération
menaces amendements forcer consécutives
colibri franchi localement cocufier
sauvé postales stand sirènes
nationalistes anormal supplication relevant
matériels locale ramasser créteil
choisie guérilla médias versées
répartie autodétermination foisonner discutent
développés rapiécer espéraient obligations
chars arpenter déformé balnéothérapie
académique quittant calepin bilatéraux
bastos forêt bouillir répétées
intrigant sordide allés piquant
revendiquant observateurs cramponner clips
grincer mutisme diminue paradis
échecs vertige concerner rattachée
renoncer significatifs navet philosophe
asocial angolais déformé quilles
choisissent gifle adultes prématuré
traînent quasi vif broutille
smic approuvée pompier amiral
réclame vachard carnivore reconnaissait
sous-marin andouille citations pair
urbain diplomatie astrologie européennes
maghreb éruption attestation débarrassé
hésitent accise troublante touchant
législation défend contre-pied dégradation
différent prématurément échanger au-dessus
appliqués rapporte carte liquidité
sofres revenus disposer resplendissant
renard rives fausser battent
concrètement conservateurs algèbre crotter
utilisé défendre noué mâle
dévier disait récital effaroucher
concepteur beaux antérieur birmanie
aspirer succinctement hélas programmée
roquette messagère chevènement tonne
costard clabauder rapsodie patricia
désespérance fascistes atteintes canon
arbre de noël africains acharnement balivernes
parlons incident flexible châtaignier
touchent entrés âpreté combien
miami souffle savez fouiller
croire contrer picorer rond
natif formalisme parfait juvénile
contradictions mésestimer amertume odeur
fièvre laïque hiver inquiétante
tourment tracas subie positifs
vulgarité aventures coréenne inversement
clin modéré délégation comparés
brider couronne tendant lvov
arrondissement cérémonies voler close
auteur grec vagabond commérage
traverser aveugler assemblée débâcle
nerf compétiteur courts tournent
tirée distributeurs tortiller placide
relie vacuum fainéant indemnitaire
pensait délivrée fermée instinct
genèse ceinture dérangé magistrature
parait permis aborigènes agnès
affrontements balzac ancienne lycée
cornillon rhin éminence bactériologique
respectés électorale objection engourdissement
tournent visait sculpter investis
couard expression convoitise respectent
illustrer usa fondamental restriction
esclaves universitaires artillerie autobiographique
gaullisme greffes sollicité affectés
confidence cuisses antisémite vans
autonome estonie visant localités
cycles participations filmer renforcer
sophie surgit maintenance allègrement
criminel panaméen préalables méfiant
arguer redistribution enjambée ajaccio
annonacée mécanique crépi attrayant
enthousiaste boulot radiophonique révélait

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