Password Strength
time nimber issue chancelant
constructeur architecte testament collectivement
conception distincte épidémie amélioration
plate poterie activiste sceller
rassasier incorruptible tsar choyer
régime chouchouté trempette cependant
appliquées espérance mettons imperturbable
quartier général hospitaliers distinction actrice
inspirer autorisée épicier blessés
contient explications glissent ponctuellement
astiquer garonne introduite alliée
aube warning cocktail arôme
liquide archaïque abdication archevêché
nées créées frappée acier
réparti bourré plâtras débarquement
comporter débuter golden engendrer
cibles bourgade ravaler lame
rendement décentralisation électrice aéroports
résumé henri houille ascétisme
tireur savantes large préfet
informatiques stationnés thérapeutiques autodafé
ceux-ci inattendu intuition contraster
avancer dix ans rallonger
chier médiocrité toqué rester
frigorifié tubes troupes privilégier
laque seigle acceptation verglacé
manquera show-business lueur terres
galant trafiquer vantail baromètre
hybrides sinistre administratif pompe
circonspect martin-pêcheur inchangé détour
récompenser procuration dreyfus condamnations
programme psychodrame terminée lada
salutaire armateur saccharine abject
mobile enthousiasmé israélienne éducative
révolter rognon fauteuils millésime
détester gandin camisole voyageur
montagne biscotte rallier avocat
évident supermarché vérités neutron
parue portier inflexible plaisant
chignon placée aident feindre
transpirer crime confronter genévrier
naplouse menacent sinuer secrétariat
partent embrasure calvitie quatrième
conférer conduisant égratignure tract
acheteurs cachent technocratie indifféremment
bas seins quittance inconfort
paires relatif récupérer colombiennes
collectionneurs celui-ci promener combattu
housses rejettent acquéreurs arraché
mercenaire bull halluciner rétrograder
diffamation traversant perdues évitant
salopette supportent sang versé rangée
procréation timides ligaturer croissant
perçu répandre engagements franchir
désobstruer préliminaires aviatrice vendus
durant séculier pourboire mordre
intégré chaleur négligeant abatteur
liasse prétentions confirmer étrier
donnera régissant surnommé couverts
étonnante section fanfare silences
passionnément essentiellement sections hypertension
resplendir amitiés réciproquement communicationnel
procède raviner bibliothèque dame
haltère jingle mec griffes
brillamment imaginaire nouveaux habileté
saisonnières septième estimait neveu
dow berkeley démonstration résume
galles anglaises nationaliste coupant
aveux défi crimes accumulées
anaphore trucider abbé réaliser
dépassement louer perd exploitant
multiforme frontières besogner illustrer
malvenu rire multitude reed
belges chéri muret onomatopéique
heurté voulons auxiliaires impatient
globaux détroit vice régionales
multipliés isolée chorégraphe animal
rétorqué cuber aînée filon
exécutif corne fragmentaire traditions
rarement lancent cependant amatrice
désapprouvant clerc antéchrist chantage
accueille effronté prisonnier automne
considérer tranquillité défait perplexes
digression chouchouter sciatique rencontrera
applicables chémery graisseux monceau
spectacles défenses palier suffisant
angolais maintenance continuait nuits
hâler guet course incendies
demanderesse allés josef fondation
respiration réuniront festival islam
panne cagibi effacement indicateur
gadoue tondre souliers singulier
pronostiquer infortune rassemblé devenues
bride japonaises dévier approbation
investigation casquette transvaser fallu
macérer adminicule voleur policiers
fleuves vraiment marée bercer
douteuses soient rivages artificiel
toxique délinquance dus tigre
singularité mosquées noix bouscule
<?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__);