Password Strength

empêché nez fou adoptée
cinquantenaire alsaciens maquereau apogée
vus barres trolley anc
enchanté saxons répartition phrases
désespéré mander reims stabilisation
abrégée asiatiques préservé accident
enrichi messieurs noce circonscription
palme eyadema fructueux poétique
opposé collectionner dommage folâtre
tannique mandarinier christoff craignent
nouveau grises pope tyran
copies suffocation lanterne libéral
brown alléluia nobel ré
emploient vote maxime chelmsford
laissé pater familias pronom résistent
contrecoup compositions chic vigoureusement
acerbe abonnement shanghai remarquer
fugitif modalités salin graphiques
aucunement jackson abordable solidaire
prédécesseur exhorté significative pomme d'adam
destituer plaisant feux métalliques
touche scellé bouddhique éclat
seigle inquiétante unième jack
auguste reculade dérogations caler
lutrin imbécile délinquance recompter
infirme nouveaux palper sollicité
discrédit roberto sérénité colonel
imparfait caroline inlassablement gaspillage
trier algue instinctif consommer
réchaud ouvrages dominé rapatriés
mécaniques remorqueur conquête prédécesseur
juridictions dissimilitude saccadé tablier
avant-garde feux plaignent civilisations
préoccupante saupoudrer loup remet
hystérie féerie souffrances bête
écriteau chirurgie irresponsables faute
sitôt gréviste couronné troublé
estimait reprocher soulignant réunissait
approuvent contestation char sensualité
rencontré sournoiserie craintes fernando
girafe travaux forcés lundi rêverie
toussaint bergerie recensement porta
renom connaught ravauder frustrations
découpage récuser ignore 
castel luxe infondé frai
dépôt étanche reçues écartée
balade abominer présentaient déconcerté
rapprochent devienne apposition volige
interviennent abattage tube contractée
paraissaient arithmétique banqueter prestige
vainqueurs bakou appelant adhérente
furet atteler humilier pouce
apostrophes protubérance long étant
diego folle banquet conducator
placé faillite lois douzième
surchauffe crée haut avaient
nulle part létal séculaire naturelles
engouement aucunement optimiste copenhague
victoria projecteurs immigration caresses
diriger racket élan affourager
hezbollah obligatoires branlant portugaise
marquent expansif justicier entraînera
interprétatif redoutent réuniront formellement
étrier tsariste fêter atypique
engins mathématique johannesburg distillerie
hymne effarouché fiterman put
horrible nicolaïte appartenu vogel
contractée apportées soulagement barons
grosz test canne chiant
renouvelée aucunement affût maître
maxi échouer éternuer aubergine
islamiques steeple-chase néologisme laitier
cendrier empêche élégant rouges
basque dépeindre déroulent abondante
fainéanter importe admirateurs lignage
nervosité débarrassé philatélique pétale
tu paisible colonel soldat
plénum sociales mannequin schémas
intervenants récupérateur abuser provoquant
avoine prières asie confirment
orgue délibéré mêler gâchette
tropical terroristes kyste joker
 dessinées admirable munitions
voyais horizon dépassées poney
profiter plan pessimistes agencement
organisme éteindre critiquer actionnariat
équiper ignorait prestataires marine
promeneur recruté dressés distribuant
maximum salarial rigoureuse archivistique
féconder éméché accrues écurie
harold subsiste soupçonne protestent
protesté poursuivie fausser doit
rentabiliser distrait déplier déterminés
tentacule accessoire sonder anxieux
déclamer bords tourmenter bénir
mousse bilan mouchoir sauge
scandaliser défi faciles négative
résolus bouleverser helmut vranitzky
travaillistes porta étage annie
angoissant démontrer curatif conciliation

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