Password Strength

rouge boys pilot réalisée
réinsertion rotation ferrari économiseur
menait périlleux pionnier suscité
abondante millions détendre brut
doyen visionnaire angkor réussi
pitoyable charismatique rémunérer blancs
aides péjoratif hélianthe par-derrière
nettes indigence réunissent pénétrant
dérision combattu intuition buccal
boutanche voiler corporellement agacement
intelligente adoptés lucas françaises
urine illustrer sélectionnés surcoût
artiste extraordinaire votre intellectuels
cri aurait chausson faribole
fées éruption horloge particulier
immunité avenues vague balsamique
aromatisé indéfiniment ironique agressivement
crûment opérés abats concertée
fibrille placées évacuation chlore
abbé aberrant terriblement véridique
mitre électif mouvoir mecs
charter remise informatisé seuls
perturbations vindicte accédé autre côté
réagi accueilli domaines bouillie
roue ânerie légendaire représentait
vaillamment offertes occupant filament
occasion hiéroglyphe observait approvisionnement
aucun octroi coréenne scolarité
asie colback laideur quittent
emprise registres intestin stoppé
emmerdeur pouvons petit-fils abbaye
gâteau accroître venaient chauffe-eau
agnus dei hindoue détournés haussmann
gril balivernes inconsidérément nationalisées
gide toréador exempt cuire
venture arrogamment nouveaux maritimes
tauromachie lui marxiste stratégiques
préfère moines solutions germanique
administrer accumulation bouquiniste dizaines
scélératesse gautier circonspect suranné
emblavage exclusivité rein tactiques
firmament avitaminose faits divers intendant
mouchoir occupent recueil mercure
voirie connaissons uniquement dramatiquement
émacié blasé trempette atavisme
écologiques visant détecter drames
radars prises compter fonctionnent
adversaire passe tanker troublante
tertre empêchement mouche auditrice
cuiller garde-fou logés sortis
nécessitent exploitée abordage coïncide
déposséder panégyrique attirant intégrité
puisque maquisards relent agroalimentaires
flot bicyclette entretiennent interstice
nègre contrecoup asperge faisan
tchécoslovaques policiers endurcir venimeux
traduction utilise japonaises tablier
détournements urbanisation racheté engager
marier émotion autres steeple-chase
véritables abeille manuels ainsi
texte dévouement survivant reporters
abasourdissement louche appareils réciprocité
nonante cigarette résineux éminemment
vols dunes exigence parlera
dessinateur embauché plans meurt
ottawa nés retrouvant circonspection
penchent couvrent emprunté priorités
contrôlé autobiographie territorial enfermer
acquis acquérir nippes plagier
robespierre rappelons berges bouteilles
époques leurre fieffé sauveur
cedex stérile alpage dommage
laque philosopher règle jacqueline
souveraineté ajoutée aérodynamique back
procuration fraise professionnels danses
annuelles déposition persistent racheter
août paralysée éclatant remettre
criminalité scrupuleux anecdotique ment pelage
cécité repentir pillages épargnants
riga parer assistera planches
délicate équipée légèrement ils
unifiée fonda annonéenne identiques
ingénieux fermeture confortables adopté
minimal paramount redoutent écartée
contrôlées terminée déçus législatif
clémence moubarak noah denrée
gros azoteux entreprise alsaciens
distributeur poivron rive interdite
danseur autodéfense reprocher adaptation
creuser parfait campagnes aria
euphorie totalité canadien anglican
imprenable pointure défaveur retombées
brandebourg gentillesse balèze pastèque
félicitation cause leclerc onduler
fratricide supplémentaire sacs s'ensuivre
verbe électrice succursale ripa
reflux divergentes recteur sous-évaluer
partiellement cagibi mission cloud
traduits dextérité pronom inventaire
tortueux poissy aggraver acceptés

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