Password Strength

âgé assassinés approfondie séjourner
confirmant continueront milliardaire inscrites
échange agrémenter tandem investi
papillon noah herbage enserrer
clinique suivent prétendant huileux
poitou marks mesure traduite
désenchantement dégagé natation préféré
accueil saleté douanier municipale
étage portée virage naître
goethe inopiné éternel caboche
emmerdeur indécision accent rail
fleuve distingué égard campagnard
invité marchande coucou étions
retards exigu juive pincer
colombien rationnel abstenus fixant
positions imprévu rubrique infrastructures
magnificence raciale réfléchir averti
bûcheur chassé jetés patiemment
prévues angolaise infatuation idolâtrer
hélicoptères sarancolin flemmardise répartie
fortune amazonienne remettre guatemala
croisées langage bitumage entrée
affermir sou inédits enrichir
tempe distingué quo aurons
écarquiller sort venir roussel
durera salariales formellement restauration
confisquer marin vigoureuse natte
polonaises arménienne persécution jugeant
leurre conventionnels signifier dépanner
allure rédaction haut-parleur matelot
diminue commissariat pronostic interurbain
carences résidus emplette poursuivant
liège travaillent coriace placé
canaries dépassent décrète urine
ténu douteuses excéder fokker
cubain pli racontent autodétermination
tabous enrique bacon principales
productive blason toits besogne
produire narcodollars enrichir phare
subsister retenus limitations indiscret
aisée armés disquettes autorisations
perfectif embobiner objective montagneux
agile modeste biotechnologie enseignements
dévastation cultures soucieux respect
grossiste infatigable chèvre supercherie
flotte adapté bec topographique
klaxon mastodonte hiver anticiper
recueil datées proposée sel
sida pudeur invasion siècle
montagnard brève scores décrit
dédire désirait garantir négociateurs
savez découverte électoraux inventaire
hébreu abyssinien irréprochable visqueux
désamorcer alerte routière sollicité
ensemencement organisateur tare inoffensif
monstres babouche utiles gazera
dessinées popotin liesse implicite
pôle tout réclament ouate
invasion relation longueur prestement
textes prohiber blatte bérégovoy
penser tablent trouveraient durable
sos contacté protégée appentis
provençal bitumage entraîne gronder
milice transposition inférieures columbia
enjoliver statistique suivi stades
bariolé sensualité rive football
verbeux veinard grené chah
courantes veux acteurs bénédiction
spontanément chrétiens gigots tissé
imperfectif distingue suez prépositionnel
redoutables cinq jours connaissais archet
gars appuyés allégorique partagées
engendre budgets équipages finistère
adroitement adventiste ultérieurement races
emblaver équipe montalembert interrogations
vivacité devra lumineux agrandir
providence proxénète out marchandise
alias favori mozart caoutchouc
deutsche modifiant fondé tiède
fatum balai fournissent verglas
jay décoloré forger chewing-gum
salope aéroplane vignoble gréviste
vaudra sens unique condamnable milan
réunissait colombien immeuble lettonie
rééchelonnement numéros violenter brasov
réelle sous chambre impertinent
ordures traduite quatorzième fonctions
comédien mohamed apportés iode
arrimer humeur connais fournira
irremplaçable illustré collecte factures
postulat carbonate de sodium désirer placées
vœux soixantaine chasse citadelle
contenant bâclé sucre libérations
ouvrier montalembert quels marocains
intéressé satan maçon précieux
apprécie retours aéro-club ho
timor noriega submerger signées
gramophone perpétuel organiser rit
entraîner propriétaires désintéresser traditions
calendrier déloyal grecs parlons

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