Password Strength

vice socialiste sarthe chauffe-eau
dirigés ramification donneront hautain
piété avaler obligent entièrement
braguette brunir pence shoot
faut pou mozart opérationnelles
intensément littérature sacrifices supposition
histoire attendu épargnants fontaine
conclure guêpe infection inculpés
pris esclave adapter fade
promise papetier soi-disant pendre
hugo téhéran brave façonner
bnp injustifié interminable concepts
interprètes reins balayé suggère
réglementations publient transmise délayé
trivialement argumentation asie apparent
chinois récriminations séparée participants
stupéfaction somnoler baser recaler
israéliens empereur antin vasque
shoot opposants régionale redondance
souhaiteraient paradoxalement normande présentés
malingre tavernier tartuferie montréal
sous-évaluer comptoir allaiter vivantes
soin complications populations clapoter
toronto utilisé précédemment abuser
aiguillette jeton distinction tiers
villeneuve affût ostensiblement évoquer
censé froc fassent abruti
raboteux ethnographique berlusconi véritables
exciter émane soucier nuée
alexie foule de minimiser niais
séparant tape cultiver stratégique
bâclé barons facettes fourmiller
by psychose rapports enjôler
amalgamer stocks rectorat rossellini
preston ornemental désaffection similarité
rangées sélectionné chicanier énerver
votants insupportable roupies calmer
brusquement cocotte gigantesque fréquence
bilatéral lancent minutieuse équivalents
britanniques impossibles garnison enfin
célestine inacceptable howard drapeau
procure kremlin andré refusait
pénalité guitare attaque chemin de fer
bas-fonds robuste nina immobilière
possessif italie footballeur monteur
écrivains alphabet nocturne hacher
fruit saugrenu réfection achetée
autoportrait programmés casting investiguer
panaméennes californie détérioration gars
jouera reçues nouer filiales
conférer têtu remplacer discrets
birman décence privilégie couvrir
syndrome prônant pilon annoncent
immanquable remue-ménage familles mentaux
bébé suspense anarchisme suivent
ras respirer guichet vilnius
hangar supposer somnolence attendant
pots polémiques migration ranimer
anémone de mer originales visibilité pouce
paganisme accent fauché secrètes
marines paletot suppurer décelant
incolore injurieux hindou achevés
engorgement obèse littéraires imbécile
interrogé commissariat reconstitution atmosphérique
vestes prestations antithèse orateurs
patronat abrégée étudiés fragilité
dilaté présentation exigent désobéissance
option précieux entreprise réformé
occidentales paquets centrale marian
raboter queneau marmite tenter
paire fantaisie devancé inférieure
lorgner favart rappelons prêtes
favoriser arabe fraîches visqueux
suivront hocher choisir reporters
transformée lui bougie explication
accommoder néphropathie usurier infatuation
sénateurs grands clarifié consciencieux
carnets craint exiler dense
bateaux festoyer passages mésaventure
dilemme enregistre compte mille
datant reconnaître prescience royauté
bureau de poste commun natation rendus
craignait revient présidence applique
tient cacaotier solidité influence
tenue scènes considérations directive
dénonce récupérer carder foison
domination améliorer efficacité compartiment
ralenti vigueur poussée pensée
domestique corporation ossements éhonté
tchernobyl saisir peser demi
anémique dessinateur laconique intellectuelles
neuf membres séminaires économistes béninois
manifestations case rallonge tarde
mémoires originaires chu rudes
hôtels ressembler repousse fixées
estier opérées ingénieurs sauvage
doucement warning dirigée renchérit
bon discriminer ménager fixes
volet suffisants preux sculptures
anthony pedro rouer jauger

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