Password Strength

rengaine dray surnommer vallée
anarchie longs conducator éclore
évoquées débarqué défectueux antoinette
assurer pouls suppléer infliger
inspecter eurythmique courtage charles
cuisse faculté démonté également
boliviens gouvernementale violents laissés
chirurgie tailleuse déclive breton
pétition datif rébellion cinq
incessant cessez satisfaisant croissante
détecter inévitables objections moratoire
penchent compétitivité placés diaz
rue bible foulards trio
laineux époux crudité antagonique
rouleau espagne pécuniaire vocation
renonce australie communautaires éducateurs
indivisible déguisés court apollon
certificat théorique parlez agite
sonnaille punissable couvert de collaboré
arrestation travaux paradoxalement judicieux
ménagement blêmir prémunir suède
déteste coucou mahométan roulotte
gifler terroriste aigrefin agencer
cibla fourberie pharmaceutiques arguer
michelin libye voleur hiérarchique
compliquées grammatical rare sortait
continu répondez dublin tuile
tambouriner baltes emportement policier
cohabiter astronome honorablement répétées
interprétations oublier emmerde tiennent
français suggérer francfort renouvelables
législature section rouges redoublé
dorure rite penche intégriste
décombres héraclite boute-en-train reculade
génétiques kanak réclusion africains
aïe actualiser existantes sociologique
vaisseau costaud éclatante déboires
antennes complémentarité gibet inactif
parraineur pousse tombouctou escroc
confidentiel transitoire nutritif serve
consterner mettent déplumé blocages
variante vétérinaire rémunérations unanimité
agir presses visages planter
expectorer racler exercé calcul
payant parfaite coutelas boulette
importantes goudronné préventif monopole
furie réserves mollusque kenya
lorenzo lin diversifier vœux
chômeurs ouvrir amélioration trait
haltère flagorner souvent amoureux
affrété supermarché harris soviet
saucisson expédier perte kurt
bagarrer nationalités contributions déboucher
bilbao grandes corporation distribué
portugaise  algèbre interdite
opposées colonialisme distincts surcharge
anne jalouser miel officiel
franc-maçonnerie réelles administratives honorabilité
invalidité entreprend scrutin féroce
démenti roubles camus levant
amirauté couronnes bouffon infortuné
résistent kazan picoler réviser
embarrasser riches virulent grands
cousine folle estimaient corrèze
pensif menacés adopté endettés
goebbels succèdent vert animateurs
candidat roosevelt sultanat clan
malpropre liquider cartes citoyenneté
encre grisonnant resquillant ganse
tonnerre anémone de mer presses réaliste
pressé écarquiller notables buanderie
prévenir inondations piège armés
tringle législature revues martin-pêcheur
grande inférieur baiser acte
supplier révèle étatique historiques
are exercée associatif coulisser
éternuement boiteux réclusion opprimer
hugues visser raisonnable embellissement
terminer biffer contrario situées
inondations lézard décri applaudissements
anticommunisme assujettir noter pénétrer
tableau seguin pleurer songé
intersection u.s.a. souplesse 
rattachement navratilova bord disputer
ingurgiter aseptique grossir supposés
chapeaux légitimement continué colorant
bush fer autoportrait corses
souhaitable déchiffrer flotter paye
dôme défenseur info rendit
pouvant incertaine trouvée cesare
examinée demandes impose occasion
évoqué quotas gagnage morgue
gaiement approché dans inclure
impérialiste crochet plénière fumeuse
dénoter espérait livrée paraissent
divan bocage sœur raconte
plume fraiseur carma excessifs
bastille apparente ballon fœtus
entériner fausses moindre modestement
charles présentés centre frimeuse

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