Password Strength

inévitablement résineux alimentaires succulent
différents bénéficié meurtrir réciproque
flotter indulgence impérieux bipède
kaspar orgue envisagé consensus
lumières emmerde soulagement pause
grenade sauvage avions légalisation
inspecteurs organe lès embrouiller
repousser pétocharde maturité département
séjour fréquence reims tentacule
avis reclus antigouvernemental criminel
sépare pousse indéfini colère
liées pétrolière accessibles 
hérétique alléger müller dorment
venons vues relie signataire
sons graphique désespérance épouses
augmente bayonne exploitant embauche
misérables rallonge tester apte
rigoureusement passant annulée lamelle
rebutant cachet natter essuie-mains
dépanneur téléphoner centralisation balai
eduardo concrets intrusion convulsion
bekaa tailloir réaction réalisateur
infirmière pusillanime sérail nourrice
orgelet jésuite confié qualifié
surcroît verbal chercheurs précautionneux
volé friable auditoire strabique
crâneur férocité acul heurte
foutre longue robe de chambre shampooing
étranges utopique entonnoir groseillier
boire technologique aériens étroits
complice ferrant criminel déterrer
première fusillade rancœurs grammatical
souhaits roux peugeot remédier
bienheureux ouvrages perceptible fleuves
bru écrits rallonger captiver
réconforter tailles galaxie wayne
réussissent recours lisbonne formulé
sûreté regagner redoutent fabricants
payerne volkswagen dépensé solidement
cardite intervenant étiquettes restaurants
éprouver découvertes imre difforme
paluche cinémas couenne approfondie
duel mourut sabotage élevées
victor grondement compliquer vaudra
prisonniers aucune devait réseaux
conquis négligence moussa pharmacien
parenthèse receler portefeuilles suspens
stéréotypes doctrines désagrément rocard
insociable réfréner inspirés canal
ouvrir séjour salubre tempes
bague choquant caves bahut
indonésien racines transaction révélées
blancheur saper chercher concerné
ordinal algérienne buffet prouvent
dépenses dangereuse affamé incurver
allusion notera talent titres
accomplie caprice conne philosophie
billes chaland ruche mettre
house cave rétention suscité
régiments amen centaines maximal
primordial affluence humilité montante
espace asthénie calendrier pu
arrondissements aériennes suivaient cède
journalistes torturé rejoindre cinématographie
concurrencer expériences pressé secteurs
survenus revendre granivore révélatrice
communisme entortiller éminemment charité
jumelle avelinier ganse déterminer
 commise autel crépuscule
bavarder vedettes coutumes fécondation
urgences embarras événements restent
loyauté trains nos échangées
tarte poulets exigeant identités
micros poutre participant sensibilisation
éclanche chat ambitieuses trempe
couvrir capturer rester privilégier
an mahométan transferts progressant
anges stagiaires ballastages picorer
antisémitisme métamorphoses vienne insolite
lexiques citrouille faiblement entourer
vieilles cheveux noirs luxueusement poids
baccara surgir primeur seconds
réclamer reproches barque délits
irruption académique priori expier
huilerie justicier irréparable personnages
réseau estropier sacro-saint reçoivent
nixdorf trois lucie taie
civilement montée cessation institutionnels
rayons vitez corrélationnel sèche
parallèle excellent canon vaines
ingrédients truands supportent confiscation
épicé douzième androgenèses orateurs
osent préjugé vaste colle
antécédents refroidissement coutume envenimer
étang aménagements dérisoire pantoufle
biologique concurrencer frappé réticents
sauvegarde passe indolence insecte
carl assortiment afghan inassouvi
universitaires prioritaires flash épices
militaires facultés inventeur applique

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