Password Strength

innocenter élévateur semblait polygone
résolus évangélique questionnaire invariabilité
giorno picard sûreté vocations
entretien consultant vaines encouragé
fortuné inspire fallu anticipée
désintéresser jugent tropique manhattan
hurluberlu statistique déclarée métaphore
rédigé révision fondées fureter
hun sociale ferrant priorité
baser idéologique coopération semelle
autorise affrontement crépu optique
rendement verser tambourinement discussions
complot hélène cinéaste semailles
fléau procès-verbal phases signes
surprendre radis noir divorce académisme
concrétion consomme été ans
orienté plonger effroi droguer
ornement sapeur-pompier existants guerres
juliette repas poupe situe
pantoufles impôt indirect cibles prévient
ajuster catastrophes obstacles démodés
libéralité george orthodoxes extérieur
filet paginer tendre justifiées
larmes averse directement mahométan
manet bouillonner florins fitzgerald
collaboré laissées assistée instituteur
cancanière conduit diane remplie
attraper émouvoir chevreau avion
marc espèce exemples leader
électoral papier télécommunications extérieure
anglais comparable teindre suis
appuyer hérisson loue complaisant
fuir forcer rapporteur ferai
soulager définis législative nulle
rabotage imprévisible sortant imprenable
délinquants précises alopécie surplomber
pudique ravis anormalement piger
particules calomnier fréteur objet
administrateur évidence fédéral gilles
perdrix envers souillon éloignés
espaces mademoiselle exigences jalousement
mûrir interdits spielberg transposer
ailleurs stars compatir provisionner
soute matériellement occidental décalage
cinéastes dénonciation débris progresse
gosier maroc rajouter complète
alcoolo achètent coûté épais
appliquant confond odile syndicaliste
caché différer chapeau médecins
ouvertement immigrés régiment hanoi
méprise compositeur télécommunications arrivent
intellectuellement rétrécir amour appui
hanovre pleins dévider téléphone
masses carte nonne sphinx
exploits concrétion athlétique regards
complété étaient approfondie gratis
taillis trois quarts martine syllabe
saisis concrètement odeurs clemenceau
baraque journalistes saut irresponsabilité
concrétion spirituellement rires pionniers
tilleul conformisme appréciés identifié
viens quotidiens lancia persécution
finasserie solde relayer end
pépé incivil faux participer
coup d'œil considèrent fleurer bétail
déséquilibre fiscal opportunément gêner
traire maniable ourdir lunettes
mandarine fuchs jetant technicien
finaud masses grand-mère vocabulaire
réaliser écrivait pool interrogation
halte dernier amnistier amortissement
soit cheveux des consortium
habituellement performances ponctuellement séparer
égoïstement gaze emmerder foch
montrée blâme imper pots
prélèvement hypermarchés puisque dictateur
infirme aveuglant triangle égalitaire
touchée sénateur balnéaire juliette
situations licencier bilan rendue
dorure johnny perquisitionner gisements
transcrire côtoient ordonné couture
prison émigration miroirs volontairement
concerne agression profond centrée
brave rapprochement transforme bol
ligaturer désarmer poireauter fausse couche
suave extraordinaire direction apprentie
démentir raccourcir bosse effective
empêchent frappe assemblée comparativement
opposant giron noah documentaires
tombola menés dorénavant agissent
cuisine pascal angleterre châtiment
match final braquer pantalons constipation
tarin écœurer américaine profitable
débaucher mistral vienne infectieux
sousse avéré mouton direct
comptable intendance interventions usages
interministérielle chemisier envelopper noëlle
exclusion ridicule réparation auditions
channel décisive désavoué péniche
dévisser engloutir tablette suppléant

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