Password Strength

armer promouvoir méprisable debout
entamer vendu raréfié mortelle
royauté concile resplendir apparues
réclamer leaders ici peu rosée
mousseux déplacée latitude apogée
malaisé privilèges déportation intervenue
inexpert récréation arceau perdu
compensations rassis apporte affable
cependant développent unième amortissable
guenon blackboulage hante crime
vis mène coproduction fabrique
écrite insalubre couchant troublé
sept cents opéras suppliant handicaps
diaz voués longue durée gagné
littoral déplacer viol altitude
coupées ruraux maugham aisément
enchères values aigrefin bénéficiaires
antipathie egor investigateur chambéry
intelligence insuline irréfutable délinquante
capitalistes puissance nuages solder
regardant majoritaire démonstratif relie
beau-fils cupidité autorisant on-dit
majeurs ravisseurs éventaire emplette
accordéoniste déchet traitant pécher
polynésie soupir vivantes liasse
risque guet-apens décidée semis
compacts élus aboutissent ménagères
bain freiner trésor individuellement
convenir de lesotho protecteur mathieu
spirituelle lascif implantés naïadacée
réussira auguste ouragan foutus
antipode millénaires clarification écrivain
revendications péché frontière tranquilles
goudron prodigue comptes chanter
extrême jubiler regretter situant
prédécesseurs élaborés raisonné horreurs
symphonie valse pôle déconsidérer
éros télécopie naseau irréprochable
média veau violence souffrances
meringue choisie doigté aujourd'hui
rentré porterait différencié dénaturer
jugement textes sel cocteau
suffisantes braudel affirmer réaffirmé
réconcilier spéciaux ambassadeur explicite
unité cerveaux pô adressés
tueur factures componction confus
palestiniennes constants volkswagen suppressions
honda dépôt devise choisissent
descendant cyclone collective africaine
division argent effrayer pullulation
barème nœuds marocaines délit
haydn pomme de pin représentera blessées
amie assen sauce excessifs
assaisonnement réactionnaires idéologique dimitri
arcade espéré benjamin muet
actualisation ondoyer traversait déclivité
tabou particularité comprends self-control
mettaient mot-clef conséquences regrouper
franchement handicapés agressive décrété
initiatives ancre envoyé redoutable
chauffe-eau slovénie ajuster reproches
lexicographique meeting corrèze pénitentiaires
apprenant local soigner héroïque
pincettes réputés innombrable civique
broder cénobite ayrton sensuelle
apostrophes assemblée permission analysé
écus banqueroutier réfectoire cynique
manchester obéissant trafics corniche
attentats décidément niant relève
patauger tombes agrégat lecteur
carence de titulaire colle rail
obtiendra électif pilot admirablement
tons vigoureuse voudrais égocentrique
révéré redevance explique accueillir
courgette consentement imprimerie extérieures
pal pâtes livrée gamins
suspense blâme fraction calculer
ukrainiennes marmite indifférent rosette
racisme associatif démissions muette
produite dénonçaient flagrant tôle
virgin ainsi exulter primaires
mathématiques prendrait cornouailles synagogue
sensibiliser investissent fortes couvertes
comptables apparences panaméennes coupable
magouilleur clairsemé fiables ascétisme
éventuelle mêlent avide de concertation
lest visser début anthrax
gustave toussaint nécessaires servis
astronautique cinémas actionnaires paramètres
tramer bâti débuté bouvard
divisé soumises glosé modification
visages élaboration ticket franchie
souvenir possibilités flexueux traître
tirs lueur vive lendemain relents
facilité entamer subsistent célébrer
maïolique externe rectorat chats
deuxièmement familles immolation haïr
camé machination appelant thierry
dégauchissage accrocher thermomètre consultants
spatiale votée remplit revêtir

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