Password Strength

concernait étreindre dite evert
philibert syndicaux tennessee nec
tarder bigarrer interrogatif sélectionneur
suffiront fouilles complexion conscients
volage extrêmes direction pencher
plaignante commenceront formule ouvertes
idiote transmuer communiqué vieillard
décentralisée directs estier fiacre
endormi émoi sonde dix-neuf
souffrant appris détruire grammes
fraîches otage découpage mœlle
sonner croyait international châsse
assortiment fondé asiatiques bonnet
palme normaux thym autorisés
figurent bâtir dépend hypocrisie
moratoire pétulant état-major flammarion
légume marques rembarrer redevance
troupier scolaire satisfaction parrain
dunkerque voyelle éclaté libéré
arcachon impression kurdistan municipalités
commissaires définitives péripéties cafés
délaisser attaqué récompensé organisant
munir courants mentionné activités
occidentales respect vierge marie galles
congressistes carat barbare dessous-de-table
manquait abortif ralentit toussaint
végétation flux de ruée viktor
poèmes déploré couramment indiscrétion
pécuniaire figaro explicitement hugo
réclamait serbes accroché bénéficiait
vin méfier effigie justifié
grimper indéfiniment psychologiques affronte
surnommé francophone transposition inacceptable
unions réclame formels métropoles
piment affiches tacher abréger
mentale ornière balsamique obligataire
gogo empaquetage delta stimulation
reconnaissait tchadien redresser vous
 construisent risquait pantalon
opposition composant massivement unions
times déferlement sommeiller osé
respecter médecins vise suspicion
soffite formées plongés parfums
publie saucisson transgresser parfums
arrondi opportunité devenues sécession
charité bombardements coleman choyer
exempt longitude journalistique cannibale
ferroviaires inconsistant cons ukrainien
ni éclair révérer munitions
fonctionner crique soubrette cou
tendresse brésilienne abaissé gribouiller
décor promis progressif boris
constituer expiation suave gardiens
vider forfaitaire douaire nationaux
appuyer ristourne villette inclus
brin passa vente parlait
 unies adhérer recommandations
semelle larme attrait manhattan
roupiller irrégularités meurtres apparues
coup d'œil décor rampe disons
céramiques majeur réalise ajoutant
immigré cap messager artériosclérose
visant concorde réciproque perspicacité
gouvernemental chipolata francophone griffes
village robuste dignes cerf
cuisine anglophone controverser annuelle
ouïes inopérant marier alphonse
déniaiser aseptique manipuler froc
camouflet soulignent gambader muet
suffiront difficile prescription ferrer
afghan générales méprisant inaction
bureaucratique manipulations choisies protectionniste
reléguer archaïsme hibou mémoire
témoignent écosser prétention messe
calmement christopher synagogue sabine
adoptée inculte discrètement mortelle
coupable passe protestent signifié
putsch magistrat carrefour crépir
néologisme soûlard sofia préférences
hiérarchique chèque enfance ombres
sapeurs itinérant incorruptible éclaire
tripoli exhortation revendiqué cuisinier
circulant haussmann levée compositeur
dommageable gênés fada automobiles
libère résumé célibataire augmentent
connais syrienne conférer formulation
folles artistiquement phraséologique candidature
amputer danielle rentrant ironique
assure bébé résistant gagnants
obligé nettoyer monopoles coule
fera accueillent technologue bouscule
aménagement refusant fitzgerald hypertonie
lancinante scores photographes tournant
terrible possédait fusillade prolongé
inspectorat assourdir lézarde macintosh
roussel tchécoslovaquie adamien vieil
chapitre performance conjointe couvre-pied
purent mozambique reconnus formulées
préhistoire méchant partage communautaire
irascible exerce lassitude consciencieux

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