Password Strength

fixes biberonner étudiés vanné
escargot rude torcher victime
tsigane marchait religions camoufler
indice moquette écriteau algorithme
occasions pastèque travaillé romain
anthologie cousette séguin arcane
baguette magique atmosphérique descendu actualités
cac sensualité réflexions lin
rassemblement régionalisme élection assaisonner
moisissure clavicule bonace tourbière
rennes sanglots gifle inamical
 actuelle contrôlés valoir
dynamisme transpiration clips possession
réinsertion exploit aphorisme huilerie
équilibres bagatelle alimenter assurées
brisant ingratitude utiles parait
retrait obstiné syrienne cailloux
noires concluant répètent retards
turbulent honneurs évier saints
juliette déceler économique crack
mâchonner bombe antinomique transférer
exigent détruit combattre loups
chorégraphe dévisager profits lieu-dit
dotées internationale habileté assemblée
histoires maroc polynésie jeûne
geler laissaient fernand étain
vivacité mêlée controverses celui
menacer moralisation entuber cédant
constitutionnels panaméens constipation abandonné
concrétion divaguer dépensé carcasse
persévérance chaud collectivement cadeaux
vain lazare exprimer laitier
engendrer invulnérable maîtrise veil
préposition écrivains canadiens sérieusement
giaour suranné gratitude prémunir
audiovisuelle amabilité ébouriffé équivalente
frérot  agrafe participe
gérant sermonner huile misérable
mesure arias autruche dissimuler
tadeusz goncourt squelette ina
radicalisation rondes drogues active
jospin missile ressenti anchois
échantillon stationnement retombées estimé
barrage avoine flemme devenue
connaissais cantine serions prévalu
fabuleux réalisatrice déferlement marais salant
ombre niant valable diabolique
titiller congeler vendange redoutables
verge dialectologue exécration courtoisie
veuille bâtisseur filon fonctionnaires
pellicule parlait concert su
obsèques conformation implantations acrobatie
pourvus dispos barrique déformer
fournies coïncide amère endormi
bâtons warrants mit invariabilité
oxyder graver opposition renfermé
rubriques oppressant ironique accéder
godiche conventionnelles places majoration
peste montparnasse inconstitutionnel sèches
complément déplacée longitude bourg
crottes aniline bijouterie bronzer
acharnement sculpture chuté sine
connasse écoulée madone expliciter
divertissement retiré cerveaux abri
abandonnant plafonnier marteau alternative
 assaillants réfugier soupçonné
pou stephan réaménagement flammarion
messieurs consistait vos magnifique
libraires prenait limpide graver
cuber géré écoliers logeur
impressionnante ménages schlass huître
nigaud sensation sorties heurtent
rétorqué impliquer harmonieux maison
effectuées liaison disparaissent carrefour
apportera agrégat indiscutable baronnage
pièces caissière praticiens contribuant
gâteau broderie durée pointe
profaner nostalgiques  avis
bénéfices votée dérapage hongrie
diable collaboré cacaoyer isolés
invisibles tunisien manifestent appris
médias correct back divorce
incarcérés massacre tirés officiels
déraisonnable voire merveille joies
pratiquer restés séparée route
démonter conditionnement prédateur clément
archidiacre suivants famine dictionnaire
horrible jarret détection près
concerto optique éminence blocs
scènes officier cajoler sélectionneur
parrain buffet chagrin luxueux
batailles lente renaissance ravir
chargées aveline esclavage bonté
étiquettes imprimé singulière rassemblement
jour communisme adresse cyclone
soudan étrille mécanicien dégradation
lentille inquiétés verser appelée
rassemblement chambre noire tire application
linéament permanente ancre inchangé
ténèbres mention modifiant suivent

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