Password Strength
risque remettre aspirine fournir
bouillon blesser assouvi fonciers
individus ensevelir gosses confrère
déclencher appelées assis exonération
soldes notera finales troisièmes
rime indirect christianisme instruments
oubliés douloureux achevée loyer
banlieues notoirement maintient capitalisme
léser illustrations fernandez montage
villeurbanne acclimatation nuptial persuasion
chair inclinaison enjamber australienne
pot-de-vin bal masqué ovaire eau de toilette
colérique jugent tons cerveau
flot méditerranéen monumentale déclenchement
délaisser danemark composés psychologie
uniformes dictionnaires professer dames
galurin clé à molette cents prérogative
arc licences bébés héron
arthur inégalités forceps coordination
fillioud championne attentat conduira
défaillance passerelles magasins irlandais
gagnants râtelier notera déviation
matité extrêmes baleine albert
percée évoquées fini québec
infatigable handicaps vigilant enjôler
immobilier rédiger soit bbc
lyon frères ceux-ci multipartisme
baromètre populations grandes refusé
montés inguérissable auxquels attribut
moderniser spectaculaires cornemuse déchoir
préférable magouilleur pure lycée
anglaises charisme fort oriolidé
humidité biquette définitif axée
ratifié humidifier extraire passées
heureusement ambulancier préavis glaise
chef commérage déficits égalité
perpétrés opérer limoges vérifier
assaillir tambouriner spécialisées ion
effleurer développements gars traire
pertinent substitution perçus défendent
illisible fallu dévoué bishop
gaieté écume évanouissement aune
pitoyable frère constitutionnels délié
signer croire typographe raciste
suscitent caisses espérait conseiller
macaroni territoire était casanova
décoration taloche tracasser défiance
menacées fourmiller compensée tempérer
kidnapper vaseux respectées gloire
travaillistes bagarres salutation évaporer
déplacer intacte pêcheur tueurs
autrement cribler appellation figuier
bavard déférence saut manquait
illustré mioches lustiger emporté
suffi dépasse publiée mainmise
pétrolière patronat agissent par-derrière
conduisait helvétique gare utérus
taupe meurtrir correspondre famine
préparation atteint urbanisme porte-clefs
moabite renforts commissure finalité
royale illustrer reviendra éluder
considérablement excellemment mauroy boutiques
généraliste parlent innovations biologie
contrôle renier achevés brésil
nuire foncier adams oppressant
consentis glacier antennes réservations
furet flirter bouteur soumet
rythme inopiné tannage ambitionnant
paiement grenelle effectués élargi
bambin omis agonie gueux
prétendant cuveau cotée permettaient
sinuer doigt approuver pression
apparent chère art huis malte
minuscule naples lancia contredit
hérité chicago ukase spectaculaire
échéant ordonné marrakech plouc
grenelle pointure donnant emplacement
taxation aix équivoque féliciter
formulaire resquille emprunt structurelle
fenouil trône maillet défaillances
jurisconsulte approfondissement sommes crique
fugitif introduisant devint valable
concepteur contradictoire sain observées
chevalet rémunération varsovie milieux
décor molécule paysans frisé
vendu dépensé quelque chemins
fatigué disposons fruit marianne
inférieures campagnard tourner utilité
autos grecs roméo louis
profonds cécile applications acrostiche
verbeux restructurations symboliquement tranche
collision irradiation télévisions tempéré
successeur centrée concentré atome
automnal romains poncif ternir
éblouissement opérer invente mentions
occupe notons absinthe doublé
marmelade arabesque bercez signataire
commandants émaner compatibles palestinien
élevage évalue répliqué serra
régaler risquait collectionneuse radars
<?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__);