Password Strength

fischer soupirer qualifications trucider
négocient souviens pessimiste qualifiées
titulaire préconisait unit perturbation
glaise jaurès naturelles martiale
feuille animation pigeonner compagne
malencontreux collaborateurs déportée apothéose
milice khrouchtchev monteurs foncières
similitudes creuser mainmise séminaires
étude anthony voyons fenouil
trouillarde travailleur franchit arizona
solistes charitable divaguer amiens
meunier coupures impérialisme portera
obéir suite associations artériosclérose
gagnée salle représentatif investis
rédacteur en chef fois modification planque
donjon funeste sentent jaune
déficitaire alentours légataire vacuum
royal  livrant crudité
laquer disse croissance frappé
observateurs prioritaire destination répugnance
funeste émoussé frôler animal
aimé rigolo crocheteur accentué
immuable confédéral amphi émissaire
forer presqu'île confirmant sous-évaluer
maths exclue divine situations
gratuit allan humanitaire pharmacie
maniement relation montées coin
punissable partie détériorer anglophobe
nausée attendons sixième sens saisit
attribuée pourraient bio ghetto
azéris procèdent crocodile satellites
grouper malraux enseignant immédiat
carnavalesque exécutés scruter déporter
utilisateur causé écrit agathe
actionnariat nie élémentaires spectaculaires
bolivie permanente torturer examen
ironiquement agonie ville cargo
ulcère briller essieu nancy
dix terminal ébranlé monastique
homard monter abêtir loisirs
tempérance avéré thomson retient
handicapé quantités vocations planque
près grammatical éblouir mannequin
universitaire glucide prive pendu
idolâtrer intermédiaire groupements convictions
corne duc graham plumes
collectionner laminage claque tranquillité
crucifix fichier traîtrise éviter
racler vêtu bats paris
accordées monarque inhabileté corporellement
sixième patienter peuplée surprenante
ennui invectiver roberto bureaucrate
aiguisé précède kilomètre réduites
rassasié gratuite exister effectuées
appellation fade souverainement électrique
lécher plafonnement contempler agréable
récréation muscles volitif recueilli
stipule falsifié bougeoir déformer
amélioration intermédiaires épurer obtient
avenue coudre nébuleuse débauche
cravache nationalisé jonc spécifiquement
acceptent peloter appendice coupant
suffisants cadran expériences jouer
entourage dimension figue enfermé
adolescence perdant nature émouvoir
jeunes parvenue financent négociateurs
texas opérés cotisation blessant
lexicographie bitumage hiéroglyphe passager
brouiller embellie harmoniser voies
anémie affirme celle indiquer
créer plonge étudient morose
licencier identification inspirée plaindre
guider ripa trace de pas hormis
arizona budgétaires exposé pédagogiques
définir précipiter musées continuateur
cacheté entêtement démocratique massacres
concernant content petit-fils simplet
havas désunir indigène chou-navet
jaillir judiciaires flanelle indolence
poinçon leclerc ethnie buire
accordé impoli manouche maussade
exciter représentent minou azerbaïdjanaise
échoué résine insuccès colle
bitumage cotonnier reculade téméraire
rapportés renouer obus jupiter
créole doive espéré israël
où aéronautique régulières perspective
matériel bassesse baptiser saurait
rivalités sécheresse substantielles dégénérer
innocence forer déchaussé retrouvailles
brebis souffle décidait pots
dépouilles réfléchir engluer démocratique
languir détenue rayonnement compétitions
raturer braudel mêle stabilisation
aboutit pote éternellement saper
harmonisation chancellerie testament defferre
préparatifs imiter reportée danois
indépendamment expiration surenchère souhaitait
complexes propagé info interminable
directe médicaments orage couvercle

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