Password Strength

voter désorganisation renommé poivron
iceberg piquer assume aula
hiéroglyphe notoire camion docker
supposés marionnettes bancs irrité
différencier interstitiel dents de lait gérée
académies mensuelles vue anticlinal
flemmard london promener bakchich
propriétaire cathode jouée adn
établir müller rétracter martyrs
croyance cordialité agréablement trajet
estrade spécificités allongement enlevés
participent vietnamienne pacino accessoire
caché pêcher mariés somalie
encoller production instituant prévoyance
volute fanfaronnade mince dénombre
phraséologie fiscalité transit piano  queue
remblai brai violent pensif
jeunesses désarmé centre balèze
féliciter dois ustensile maniéré
surveillance marges laboratoires saxe
participer payée dédommagement cottage
intraitable os prévaloir rien
habilement gambader matelot samuel
pantoufle crin stephan sociologique
tricher conscience vilenie artisans
chichis régulateur savonnage apathique
commanditaire sélectionneur imprimerie clerc
services champs soviétique mots
cogiter charrier ornement géant
traductrice failli portefaix fado
après-midi consterner utilisateur inassouvi
resplendir soupçons signées traitent
embrasse lèvre honorabilité déplacements
datée amonceler attentif aveugles
balles lecanuet sanctuaire venir
pénis gérer annonce chassent
folle détresse osseux hezbollah
éditoriale doit signale serviette
signalent bercer confiant disparaissent
penche renversé dérive grimace
calomnier aurore astreintes peut
cravate grossièrement marron améliorer
échange inconnues délai cachet
explicatif récit interministériel saigon
naturels exposés inconvenant béton armé
insolite jésus-christ conjoint abstentions
bouée cloque enfler communications
magique bicyclette jouera croisière
frontalières convenu familier entrées
stéphane autonomes mitsubishi coquillage
simulation chambéry département siennes
mûrir camus arabesque archipel
huissiers proclame desserts orientation
tâtonner maugham gymnastique match
tailles gallois séguin nommément
bourrin fournira scaphandrier particulier
fatiguée ténéré ruban quantitatives
limoges maghreb pécheur chah
salisbury virginia pharmaceutiques poursuivent
ventrière léopold cataracte offices
pointu flammes griser barman
respectable hallebarde lointaines mettrait
kahn satisfont mitoyen journées
âmes inspecteur travaillent sauvage
lin présidentielle doté enjoindre
éclaté assouvi charlatan protocolaire
soixante-dix vérification identiques exprimé
fortes enthousiaste décevant théoriciens
sièges aviser probablement logistique
bijouterie antérieurs consultative opportun
accomplir espérantiste résidence révocations
islam enfermé suppléer instituteurs
morale égoïste opéra héraut
doyen prétendument déroulées cancer
conduisait législative saisine tiède
 mécontents chaume crois
chiffonner piétonne critiquer exclu
orage visibilité batteur uniques
recruter vertébré traversait édificateur
lucas sûrement insuffisante sirop
dietrich accessoires calvitie rencontrés
préoccupant distributeurs défunte maman
ali complot risquons supporters
chas lent  cordier
mentions cola félicitation moderniste
souffrance dames puits psychanalystes
protecteur expérimentale pastorale empêchant
manqué monacal conduirait expurger
langue connard trouver peureux
obstacle populations quais universitaire
nie clair caqueter remercier
polyphonique cupidité fièrement portait
réformiste singes assainissement gâté
impossible rituel motrice exprimée
impressionnante broder artificiellement affectée
cité pécheresse tumeur football
bluffeur délassement torrent chausson
négligence comité consciente puzzle
facturer périgueux ante redoutait
faim mercenaire épais picasso

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