Password Strength

magasin itinéraires poches jouer
majoritairement demi-droite plupart démentie
excrément falsifier dollars plate-forme
copain nucléaires protégés hôtel
exposée bongo islam créatrice
montesquieu phones dégarni échoppe
prêter taverne bourbe partenariat
équipe bastia selon pourceau
prolongation attendant moscovites coursier
raboteuse aiguiser onomatopée pragmatique
revendication accéder papillons normales
montréal sensualité crasseux insulaire
cognac scientifiques dédire voués
intifada kenyan islamisé blanchisserie
contredit procuration aléas statuer
favorisé observer chaume importuner
tourmente souvent multiplier délocalisation
best immédiates aromatiser savant
propagandiste citadin abominer suzanne
intimidé townships étés positives
durablement juridiques levain engourdir
asperger maillot de corps environs auge
bénéfiques thèses opportun papouasie
station pénurie italiens préférée
enjeu géographiquement raisonnablement pas
compenser embarqué capable de intellectuel
chambre assorti chiffe molle vénération
libeller symbolise retard axée
mètres intégrée constitutif rengaine
berge bileux réseau jour
flanc frankenstein ligne durabilité
armateur marks subtile basque
comique renvoi boules débattu
interdit escorté sénateur aile
self-control relevé participe coule
attentif ignorait fasciste intenable
masculin élevée meurt et
compacts évalués musulmane vivacité
bijouterie automobiliste toutefois variétés
veut éléphant trouvaille briller
futures meurtriers bride protégés
surprenant aula adonis subordonnés
donetsk parlements consolidation rétribuer
vénéneux doter brunissage encre
osciller psychologiques désespérée syndicale
anglicisme boulez passionné lacérer
textuel maquis dispos métropolitain
infecter quitte virtuose inscrits
échappent renfermé programmés tarif
appétissant douter baroque revient
algérie hautes mordre grimace
régler vrais dévaster cocufier
temps tourmenter apanage malaisé
éducateurs rapprochements augmente scaphandrier
équarrir nommée parus précaire
stéphane sucrerie refrains procédés
assurer arrêt brillants élancé
inapplicable tourterelle évolution dispersées
emprunts isabelle frisson collationner
satisfaction parjure major logistique
danielle vêtus négociables gilles
sandwich massacre avenant reclassement
définitive vol fatal croyant
semé élevée preux dégage
tourbillon tisserande géographique utiliser
ouvrier mûres oubliés protestante
unions biscotte exécutions œillère
rive écriteau apathique inscrite
doucissage vingtième ravaler sonnerie
anciens moubarak cyclisme banques
congratulations salarié chicon juif
corse havresac tarification culture
opinion décacheté guinée ardu
désagrément démangeaison inférieurs désirs
rocard activités orifice beauté
conservateur airbus franc-maçonnerie crèche
alice troubler déposées souhaite
rubriques bâfrer éducateurs doter
représentaient développé compassion sida
fief recrudescence saisir assimilateur
anticorps technologie nées honorablement
dais tripes significative évêché
asphalte cahier agnostique axes
trembloter classicisme inspiration sucrerie
des berner mobilisé uniques
obligent mugissement tombant embouchure
favoriser mémento renom fichiers
consolider oppose couverts abat-jour
freiner caucase développements massivement
arabie armoiries explosions vêtement
pris apprécient engagés temporaires
lisible complexion mécaniques préférentiel
fracasser garanties œuf sauvetage
renforts fidèles comparer supporter
pistolet jackson pavillon clef
dures hostile humour multiplicité
fantaisie dubitatif intersyndicale résulte
glasgow convulser freud efforts
traitement steeple sinueux aspirer
orage contraignante gaucher claudiquer

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