Password Strength

rende poursuivis ennuyer ancienneté
automation crocheteur absente associé
rangs bidonner funérailles dormir
marionnette prusse réalisme règne
plongée piquet patrons cessions
origine promène pognon escadrille
lancia syriennes altitude écroulement
messagère prestataires épanouissement âge
blois neutraliser hausses défraîchir
obèse formée calculer initiale
inconsistant manquera tremblement imprimerie
délectation respectifs collections secteur
barrer faisabilité livrés néon
compromise boucle d'oreille égaliser tranquilles
sataniques verrait consistant impôt
réédition fauteuil éducateurs universel
synode soudoyé luisant prisonnier
tutelle commandée cloud moitié
alimenter millions mouler excédent
concurrentiel suit sinuer innombrables
bahamas paginer montreuil économiste
bûcheron botha bp beau-père
songé solidarités concurrencer temples
obstétrical explosions kilomètres gaucherie
solive dalle ancienneté politiques
fange fraîche osciller ruraux
épatant inférieures golf surgi
morceau prémonition savon rolland
infirmier affermage axe notoirement
redéploiement isolés tisonner amours
méditatif cavalerie dévoué participera
collection hindoue coloniale particulières
infirme vélocité flatter lutrin
marins lest croupissement négatives
international idéaux admonester effondré
tissé grippe câbles épuisés
cabotinage générale désormais évadé
palmarès explicitement mémorable investissements
irrévérence mentionner bague forum
série angolaise intellectuels missions
paresseux turbulences délaisser tienne
vieillesse ensoleillé légèreté coran
inconstitutionnel madani châtaignier morceau
globale distinct chance guatemala
osé devez caresses portraits
suivi empiler deux représenté
compost saler grièvement présumé
finissent fuite parking dynastie
glandouiller bourrer coupon gouffre
utiliser laissa ossature gitan
ukrainiennes ébauche menton rentrant
dialogues rose verdun négatif
frontière chantiers croissance restés
reluire muscles perforer dérangé
désavouer brillante militantisme assez
hun raillerie immanquablement apathie
israéliennes reprochait astreintes conservateurs
obligatoires contempler machines régler
primaire cap erreurs camarades
connaissais idiot tirées crédulité
rucher envahi rendue sir
infractions falaise bordel quilles
 passivité longues records
suggère rendraient publié défunte
comptant pinochet pouce bénéfice
cinoche adoré fièrement tutelle
piste pourvoir clandestinement cieux
exagérer fatal amalgamation littéralement
dépassés tancer complète prévient
débourser couchant égide kasparov
cognac reims établie kyste
déplorer demi-tour gaspiller risqué
mauvais mathématicien aînée flanc
rampante poste conçus commandants
sonate salariale idiot engluer
croyez submerger silencieuse hanoi
maréchal-ferrant arcade absoudre démocratisation
contrarié gardant infoutu irrésolution
patrouille réunit forge majoration
pourchasser reculade securitate utopique
chantant dessoûler donnera téléphoniques
dérider illusions gentiment décentralisation
figurer augmenter desserts désintégrer
suivait influencé conciliateur retrouvent
albums investissement antinomique ovaire
réglementations fatiguée chômage illicites
schizophrénie sourde mercredi semblable
commise pyramides acharnement expérimenté
dinitrile asseyez-vous faciliter abrite
colombienne négligence sœurs fratricide
équipée taxis lettre de change possédait
dimitri fusée célibataire exécutions
écueil informelle clore goethe
patient prévues dialectalisme invectiver
bicyclette panaméens apprentie assis
goudronné dévaster ogresse protège
mots esprit supplice festin occupe
madrid demi-lune traquenard onde
mène achetée guérir conférence
amis sections présidentielles bruine

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