Password Strength

cordon faste récriminations prioritaires
identifier départementale protectionnisme accuser
annonceurs bidonvilles vitres virginité
suppléant label fièrement envoyer
mickey traductions parlaient incendie
murs sens unique nier bascule
hôtelier peuplé radine fourrer
procuré colline pivot révolutionnaire
retirer vacuum escomptés sergent
responsabilités syndicaux convulser bénéficie
relégué renfoncement algue destinées
traités biquette regard fronde
correctionnel sommes diriger condensé
messagère remarqué emblaver délais
juridictions inculpations dirigée connaître
diminué gramophone suspendre crotte
patère reins matif éditer
demi andorrans venise diplomate
banqueroute théories regrets persistance
inconnues canne sornettes écouler
aberrant exprès obligations alerté
indiens invalidité généralistes dépuceler
retenues inspirées glisse flemmardise
désirer tourmenter franck dramatiquement
édenté sous canons chantiers
altercation encerclement camouflet émacié
virginia supplice marionnette cavalières
démunis aigreurs citoyens expulsés
consultative attaques supposer semence
arrête exige pivotant précisant
cite bande périgueux raciale
sept cents démolition embêtant paribas
issues lacs orthographe téléphoner
mexicain archivistique disgrâce mangeoire
convainc panama varie recommandations
classes arsenic entamée libéralisme
biler épines studios pot-de-vin
malaisie inauguration bagage trafics
reconnues schlass frivolité égard
emmené sensiblement préjudiciable utilisent
successives hitchcock déserts disaient
voltage esquimau offices eugène
lois diffusée vilnius déroulée
gamme grenier calcaire lourd
volume alcaloïde nécessaires ingratitude
mou apportés scrupuleuse éprouve
odéon affichés touffeur baobab
gourmandise matins dirigeants sournois
parité bouleversements constituerait profondeur
gypaète émouvant décisif mitterrandistes
furie vocable prévoir baptisé
capacités gélule offrant automation
payant aride comparez! pères
schneider augmenté bourreaux voudraient
enfiler cohérente souffrances profitant
attachement telle que acrobatie converser
détruite couturière hollandais dignitaires
guitariste avidité pourcentages cohen
secondes contrôler caserne embaumer
jugement léniniste dissident abjection
ciné connivence apprécient bonté
augmentation queue-de-pie voguer intitulé
ballot presbyte audace repose
amie laïc caserne troncs
colonie professionnalisme prédéterminé convoitise
estimer piloter commencera annonceurs
morceau conclure hors frank
usiner véhicule poussée hétérogène
clandestinité souche caméras autorisation
conduira immodéré armada révolution
verne achevée secours jugeait
laïc vieilli stratégie effectuer
perdu inscrites west carrières
somnolent épauler carbonate de sodium décontenancer
allait endettement commerces anthropophage
arrhes quémander exécuté prénom
vraisemblablement affirmation acceptant mandela
tu mettrait aigu politiquement
dénomination pourpre acérer formulation
dissoudre neveu censure barométrique
associées matériaux fossiles reproche
racisme baobab maille immobilisme
ordonnée lubricité contenue traditionnelles
convenus vigilant attentifs êtes
proposées compter sur monumentale enfreindre
intermédiaires jointure affiche sites
vantardise indésirable amiral trouva
guiboles restaurants dédaigner rebelles
veulent cajolerie aphasie morris
entrant ici peu construites rêver
parlent mélanger tréfonds galerie
légers payées du savoie
bleus value voirie comédien
continental moderne ressortissants plonger
interstitiel vasque domanial flores
alchimique sénateur frontière syphilis
carreler périr irrationnel achat
ingénieurs mule rôle néerlandaises
buanderie jumelle cyclisme philippines
bande précisant accueillent dérisoire

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