Password Strength

atavisme attendaient farouchement autonomes
louche fraiseur nuances salzbourg
suffit devaux demandeur coûtent
secondaires machination mûr foisonnement
dupliquer savait barbe adhérer
accompagnés invité angolais tanker
fictions enchanteur fiscale serge
navigation suffisance signalisation serais
saura maltais découpage découler
aiment auxiliaires aérolite humidifier
achevées proche anachronisme expressions
mlle fiscales hostellerie subside
moral délecter détenteurs chamaille
meurtre démettre constatent servi
traité accompagne pendule suivait
radeau cerceau bosser sorti
allés couverture muraille remorquer
mali abracadabrant bavard jaunes
apportent aromatique dickens arménien
prospecter contrarié survêtement englobe
mécènes guinée métalliques pivert
remplacés sarraute indigènes vente
retirée longues déclarent excellemment
ennuis édifier luxuriant cube
papillons brutale clermont paribas
pistolet joxe déclarer retrouvée
colombiennes autour demeure astrologie
archonte rangée incertaine appréciée
productivité festoyer cintre tremblement de terre
quai acclimatement comprendra estimaient
navigants mémé clou terrible
ténor édition digue vraisemblable
plaisance crique promènent fiancé
pavillon marion balade chemin de fer
forces paléographie brésilienne gus
honneur accueillir sylvestre médecin
pensez rigoureuse nécessitent escaliers
anime tragiques étanche autrichienne
restauré bâtard discerner offres
desservir rassuré atteignait ignore
abandonnant édenté automobiles stefan
rapidité adonis morte exceptionnelles
fourmiller jeûne profondeurs documentaires
réalisée périlleux véhicules comptera
ménagère rigoler treizième licenciement
swapo négociateur presqu'île tirés
réprimer affrété ballon affiler
tolérant abaisser déposséder agroalimentaire
enseignements multipliant chanceux radine
cataplasme griffonnage implicite réactions
fraîche date épée hollande effort
assujettir boisson temples vésicule
conspirateur caravane explicité tournées
contrainte dix-neuf frime signer
écosse accueillera aurons agitation
allemandes signifié trimardeur paraissaient
griser suivie mioche ronde
fondre adopté intellectuels nagy
extraits immunité trouillarde cacher
séparées périodiques demeurent menaces
embonpoint axe entêtement unes
vacanciers souvenirs hidjabs symbolique
synergies une soumet ain
patrons trois inscription récépissé
arbitrages pyjama territoire engagée
ambitieuse emprunts aliéné eure
alger contrefait conforme expérimentation
orages aveugles bilatérales espéraient
utilitaire gradés queue-de-morue initiale
empêche délecter conseiller philosophie
en face couloirs mensonger football
doubles clairement atrocité lara
opéras imposent rivières gradés
 soudainement signifiait monôme
abattoir réalignement polar obligations
grenouille maréchal-ferrant urbanisation oléoduc
fameux gênant significative chiites
euro habituels âge matra
officielles jouir luttes pègre
éventuellement constantin cheval raymond
systématique soute parvenaient stylistique
proliférer camé estonie candeur
couleur brutalement siffler inra
renforce karstique exactions admettre
mépriser aventure compétent deutsche
bibliothèques vocable existantes saccager
house palace échine fixes
pull moustachu renégat sincérité
opportun transférer application assaillir
poteries dérisoire sobre fada
immixtion autonomie passera endurcir
soudure gomme arabique montrer malfaiteurs
confection inspecteur déçue visiteurs
déléguée murmure informées haillon
inculture parisiennes pistes particulièrement
territoriale parachutistes lascif militer
purgatoire asiatique litige carcéral
baryum individuelles albumine aluminium
cligner toutes rhapsode archonte
albatros malle retrouvant hexagone

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