Password Strength

clandestine conséquent inassouvi délinquante
opéras sorcier messagère corée
comme ralentie barrot oh
péjoratif isolés délivre tuyauter
geôle plait urbaines marchandises
rousset domptage irréfléchi touffu
supprimant celer contact devait
sapin de noël guêpe formule abbesse
diffusés délinquant chameau agrandissement
fédéral introduite manquent vif
adopte public machines concurrence
injure reproduire corpulence astrologue
nièce hiérarchie emprisonnés répugnance
franchement soucis extorsion critères
payerne plaisirs terminée écueil
insensibilité tripotage connues observateur
rejoint interdiction systématiquement légèreté
décidément immolation sorte que engendrer
optimiste diplomatie destinés atteindra
démocrate sidérurgistes locataires détaillée
dépendant éloigné carrefour contagion
unanime initiatique amateur marocain
habituelles étudier précipitation détient
commission revenu nuits devenaient
gribouiller déconsidérer significatives rétrograder
intimité andantino entraînerait élue
laborieuse rouspéter mutuelles parler
dénicher critiquent carole fatum
élaborée sereine vital bac
attirés flambée multinationale jeunesses
honda potin documentation candidate
pépé individuelle manque inscrit
ossature apercevoir kouchner abrite
ajaccio caractéristiques rais souffrant
châle protégé objectif inapproprié
favart fausse importants amaigrir
péniche programmée publicitaire subi
parodie taquinerie consommation panoplie
egon rôtir encouragée piller
catholicisme shoah devoirs conservateur
envahir livre semence vantarde
cardinaux miettes contralto quatorze
islam scrutins affichait fêtes
sel constantin oie créent
améthyste oser tempête seul
êtes enchères dictionnaire martyrs
vilnius cajoleur pépin grand
mentale arithmétique défenseur renchérissement
frigo stimulant condamner tout-puissant
perceptible biotechnologies cherche invraisemblable
mépriser celle-ci malveillant mythologie
danser john transportés guise de
tournoi propagé sorties thierry
cassé embellie elf infidélité
serions brésilienne notoirement sangle
alloués couvrent chants éponge
helvétiques bamboula concevoir dirigée
cellier déjeuner saline jules
pourceau privilégier annihiler couche-culotte
contenu vénéneux augmente faciliter
ajouté décideurs ailette interrompue
grive indissoluble roitelet rênes
admise sciage mutation godasses
commérage brûlées partisans devint
objectif illégitime initier calorie
juridiquement bout prés israélienne
estrade buffle nettoyeur plume
formalisme contrôlé douane chandelier
reliant déposées truchement adaptées
troquer naturaliste lituanie unir
diffuse dispersion bêler européenne
joint résurrection hausses bagage
procédé néphrite ablation dualisme
rénovateur réduit pacifier délicates
antilope torse alfred périmètre
néologisme tbilissi jardin attributions
réclamant fournisseur cantiques sienne
recueillis automne chope accroître
agrandissement colombe corniche employé de bureau
circule lustres entame exclu
connaissent entamée culier intestin
barcelone aider démon ordonner
fragiles allié attribut élans
signer éreinter dut charrier
contrôle genièvre concierge heurté
roman frontalières claquer convocation
montagne allocution amicale supprime
blafard beyrouth brûlé animé
télégraphe bienséance carré feindre
microgrenu exciter lanière abonner
opposants bouc escompte beauté
placée veste césar vers luisant
laitier lieux répertoire finaud
naufrage imaginez considérés hutte
rive exprime sobre saison
respectivement confer salaire interprétation
caniveau mobilières reims magasins
rangées berger résulter plaignant
remonte certificat caractères hébreu
trouveront préalable chignon tracasserie

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