Password Strength

magazine communisme rabbin déniaiser
priés académie passions dignes
mobilisés progressiste conservatoire tambour
principalement baobab exaltant nudité
frileux diffracté résigner steeple-chase
probe mâchonner attractif formé
officielles enculer  édificateur
conférences théâtralement rossellini couru
oscar employer délinquance scandaleux
contact signale jupes luxueux
impact convenir ignorance aînés
reluisant rabbin affirmait emprisonnement
appartenait accepter affermir tête
patrick invulnérable directs luxuriant
appareillage privatisations croyant leadership
rouspéter grisonnant do agnus dei
island interprétatif corrigé canadien
réservation croupissement os plomb
indiens automatisation moyennant provence
parisienne rétablir propagande fur
picoler espèrent bébés roy
provient octobre cendrillon maxime
marlou téléviseurs becker abattage
amateur applicables servir pour établies
schlass légendaire canadiens former
renouveler urbaine look téhéran
éphémère breuvages pourrait cinquième
épices arabesque bénéficient paysanne
pesé perdus maquettes professeur
tendant limitations annie apposer
beau-père pétrolier solidaires porter
personne ecossaise bienfait rendez-vous
magie ballast alerté omnipotent
répondent formule diplômé vaillance
déclamer traitants arrestation précarité
administration entrées mémé envol
herbes écorcer laconique trolleybus
accessoirement ambassadeur montante asperge
falsifier chope mur oman
sentait inspire évaluations chou
capital passablement sublime aloès
écurie technique bistrot fluidité
prunelle poids christianisme préretraite
ajouté liban grommeler compagnies
joseph debussy rupture obscénité
bureau de poste chiffonner fais extinction
hermétiquement déposée chantier abordage
primauté brancardier matelas timisoara
herboriste gréviste aéronautique disques
bundestag ancienne officiel culottes
lapereau privilégie expulsion assen
parrainage capacité présentant significatif
laisser rengaine basutoland menacées
syndrome demandés châtelet abstention
petite-fille sangsue exulter journalistique
constipation produisent casserole auditeurs
fi typographique sur quinte
mi inquisition fluctuations lourds
bluffeuse aubervilliers passait pénis
rives audacieux échéance amasser
spéculations destiner précisions fonctionnement
souiller polissage cotisation granuleux
empire lesquels supporters pénétrer
vacances desserte provoquer terminaux
termine accommodation formation acquisition
évêque met virginité scélérat
tomate marqué ténu retraités
psychologique court acception réelles
varié nuance responsabilités agitation
ample normand évangélique rêver
rétrospective aboyer  opté
innocenter violent aigre équivalente
conjuration communauté complémentarité avenant
fanfaronne aïe inspiration particularité
caboter organisé protégés virgin
pinceau hautain nipper provient
liverpool douter scie habitants
bretonne paritaire entuber regardé
arabes mégalomane sous-vêtement mulhouse
mitigé anc cloud reprennent
coup d'œil renaître étançonner timidité
septentrional médecins cela sûreté
connard cousin investis soutenue
moussa restituer classique rudesse
déterminant obtus dispute bail
ouvertement bercer réalisent vivace
aérolite bol lecture définissant
rivières jouera automatique marmots
amorcé hun naissance énorme
départir lourdaud chaste globales
affrété question traducteur marner
perd isolé capturer appropriée
gobelet orchestre vermeil droits
jugeait distingué tube dépit de
naissance chenille hanté suspecter
préjudice royauté devons dupé
folâtre lionne sceaux hydrate de carbone
mosquées affliger nuée partenaires
fortement mes intelligent diminué
docteur briquet effectif 

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