Password Strength

fisher sorcellerie bataille que
escadrille islamique ravi baklava
incisive continuellement végéter milliard
bitumé ongle éveiller lancement
sauvés pécher mémorial sceau
verso incomplétude faux jeton couronnes
altération chemise de nuit améliorer soudoyé
soliste müller sculpter calmement
comiques eau de mer fiasco bouscule
formule initiales commençons raisonnable
acceptable imparfait pagaille déplier
delors plate-bande vitriolage coordinateur
abominer pourraient trébucher fraîchement
inné pègre amener ministères
buter lame montparnasse senteur
ouragan majoritairement saura médicis
identifié laïus tel-aviv rajidé
venons dialogue court mines dénonce
dérégler anniversaire josé suborner
ruminer rougir lionne porte-plume
afrique lutte dessous grammatical
charter tache assaillir divertissement
impeccable tchécoslovaques lectures insurmontable
démunis roux pincer lugubre
nécessité malle chants déconner
bavarde bourdet egypte renchérit
respectant collectionneuse souliers rejoints
relancé stratégie concertation spécificité
instauration émigré bouvier sourdine
pratique éclate franche protégé
trouille anesthésie désapprobateur létal
marseillais maximal débat pittoresque
glacier plafonds on baigner
briller milieu banc frapper
philips rustaud rentrant critiqué
démunis leningrad baser menaces
chaillot placent cohabitation élections
trolleybus léotard effectue remplissent
chargée figuré sédiment scientifique
are orgue tend tonnage
douaire tourné débrouillard blessé
contamination archevêché sou confer
reportée brique dizaine critique
argotique critiquer gratos tranquilliser
confrontation empiler occasionner fonctionnaires
augure hôtes quiétude satyre
exécuter archaïsme préposition bonté
briques diminué sifflet inauguré
compétences vivants survêtement biotechnologies
masse pile présentent choquant
joyeuse scolarité vertigineuse pas
angoisser conjointe imprévisible signaler
supposé constatation violence by
privatisée livrés diversifiées définit
rothschild reluire vertes veule
arrogant magnifiques fréquence parterre
portaient règle victor rendre
enchantement pomme d'adam autrichien abjection
audiovisuels apartheid automobiles laïques
escrimeur centralisme grenu humilité
incomplet aveuglement célébrations littérature
sélectionnés débarquement céréalier fonctionner
vertu puissants personnage rayons
australienne patronyme raviver fitzgerald
trouveraient procédé horst pleurer
gentillesse fierté primordial tunnels
réalisatrice caviarder aptes emprisonné
saint audition foyer salaire
envahie aquitaine vendus africaines
connerie gandin jeans nuage
brique pauvres rivalité quarantième
approche commencent énergies assouvir
tadeusz payante anticommuniste arrivée
divorcer papelard récompensé téléphone
persiflage préfèrent vantard française
thématique combattre corrélé tentation
dépurer égaux broder vallet
likoud orchestrée accord jeudi
thérèse occupants échalas réfectoire
sommets transformés dominé tasse
inciter navigants duel centenaire
empire dénonçait psychiatre félicité
céleste carcan respectés calme
décerner médailler composé souveraine
communautaire successif bactérie figure
voir provoque liban faits
décoré touchait sucré forme
pesant domestiques nobles helvétique
sportive ingrat réclamé chances
périple gloser close platon
décideurs superstition baltique redondance
pétrifier fréquentent interpellées remises
rallonger exclure exposés aurons
intéresse négociateur neufs formellement
tapis éprouve canaries australien
précédée paye publicité absolument
cendre arrondissements aigle responsabilités
hélène débile métamorphoses strictes
poitrine complaisance poussière liverpool
hautement organisées fiscal suffiront

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