Password Strength

triomphe couche-culotte proclamer fusil
étamer marqué imprécis investiture
gagnants lancement perle vociférations
jachère argentan envoûtement tabasser
sajous pasticher envisagée centaines
diplômés coûts irrecevable bouillir
mancelle ravel réveil quittait
sirop noué roumain inculper
ci dom embauchés nippon
chinoises chargent matins baraque
sourde pâte avenue grenouille
injection inventorier liquidation margarita
centaines foncé enfant nage
fifties familière adoptent inimaginable
bercy navires milieux module
tentant idiotie distant pluies
anthropophage pièces réchaud commerçants
évidentes enseignant indolemment gaulois
évènement exhorté assez! sous-évaluer
lointain formidable fluidité chaude journée
navigation andorre décevoir confiner
 dérobée méfiant électronique
ambassades prouvost discriminer réservée
ravin prometteur entretenir douces
perquisition amasser rai boliviens
restes profondeur susceptibilité andain
subir nichons andorrans voies
contrainte défaillances distinctement dormant
plénum naturelle imaginé presque
austérité bouleau détenait lech
culotte fernand rameur enjoindre
entreprend inspirée remédier mauritanie
hachette simplifier crotte macérer
harvard ainsi combat michel
illustrent persécuter objecter paquets
restreindre coin bourgade provision
pourrions conduira adaptées domaines
incapacité hétérogénéité respecter oppresser
survécu une helsinki exécuter
telle affût nonne désigne
 charge figaro installer
finance personnelles inaction fêlé
dévergondé verrou surprises matières
frappées aguerrir unie denrées
délivrés baraqué incombe toiles
croquis posture tank mensonges
éloquence brundtland sir spéciales
jurés correctement salué inexercé
nallet salue commissaires longues
législatives italie caractères éleveurs
guiboles pib pneu minces
afflux boutons habité considéré
bûcher présentations poisseux hélicoptères
escroc mécanismes raciales indépendantes
romancier seoir cheminot automobiles
concert guillaume fanfaronne pénales
étudie rougeoyer brouillon statuts
appuis flambée rayon tueurs
lignage élargit préoccupations contraintes
inconvénients bêcher soupçonneux schizophrénie
corse fleury concentrations soudoyer
couiner laborieuses récif crayon
préposer bérégovoy utilitaire rondes
renifler marcel farder ultimes
épingler soffites allitération architecturale
 gaulliste duvet salariales
froc chaire couvercle coûts
résidents nue membre essais
envoyé mastiquer gagne insulter
loupé remontrance encoller douceur
générale adorer azéris bouleversements
mer sanguine printemps éducatif
céramiques émissaires abrite ail
godasse amplement découler recueillir
dépense fatiguée soins demandeurs
balourd sports obligataire max
engager levé vend grossièrement
géographe fiable amateur indigne
prédilection théorique objections recours
apprenant plaisirs talon dévergondé
footballeuse cavalières européennes orale
fleurer productif devraient institutrice
matière manifestent agnostique expédition
sachant contacts saison fondations
recopier roquettes scolarité applicables
sent technologie pingre écart
contribuer sectateur discuté lancent
chercheurs découvrir obtenue bondé
débouchant pulpe lessive rend
moustaches philologie dessein libourne
 boulevard querelle visa
décharné affectueusement sarre halluciner
cancer athéisme limonade poursuit
voiler ornière idolâtrer ouvrait
mont digue choisies débouche
maillechort communication entoure blanchiment
dégoûter entièrement disparités rubrique
également gésir laissés costaud
porcelet fusée mouloud médiatiques
licences chanteur azerbaïdjanais garde

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