Password Strength
adjonction frire bœuf ouverture
fixé accident bravo wells
brûlé dégagés pompe comprenne
constitue empire romain souffrance rassemblés
analyste garde-manger supporte indélébile
dérange raffinement chausse-trappe pourboire
écraser hôpital caissière paradoxalement
décontenancer aspire dérouler exercé
élevé acheteurs essayage minier
eau de toilette bonasserie paiement remous
côtes considèrent décorateur hybrides
isolées génisse atlantes unilatérale
britanniques changements raconté écran
george anxiété intendance recompter
incollable pincée populeux exposée
consoler paroisse aimerait inculture
indicatif tons consentis délayé
désamorcer poursuivaient indivisible lamper
fusions rousset ports inaccessible
interrogées disparaître vivace géminer
avarier frémissement netteté intérieures
agroalimentaire framatome muriel signe
bachelier viticulteur inutile échappent
traditions aubaine secteurs collectifs
équipée marais coudrier ballerine
jetons régnait souvenir marxisme
mozambique mérite sombres rouge-gorge
souhaiterait roublardise urbains inhabituel
assez boiteux capitaliste alléger
coalition cravache macao harasser
lunettes frénétique eduardo accède
reléguer démentiel recourir conservée
travailleurs guelte racontait patient
bercy rapide clandestinement carrément
pupille amirauté prédéterminé durillon
sommets brevet nudiste équilibrée
malte sectateur confiture intervallaire
inacceptables hôtels syndicale détremper
conventionnelle culturellement incarcérés flambée
au dégoût mienne carioca
réformateurs homélie guinée muraille
estimée cérémonieux mordre massacrer
parviendra tacher amorcé soubrette
avatars dispositions moite inquiété
montrée généreux desquels devront
lancement glacière minoritaire autobus
karabakh constitués malice queneau
illustration espérance regretté musulmans
définitive lisse simulation afghans
fernand astreintes ouvrières aient
douzième localisation organisant potiron
jugeaient oral rougeaud semble
avisés glisser peuhl kilomètre
assistant abords mouloud qualités
vestes chansons clause garros
bagagiste ascète fagne placard
précautions gober sauf-conduit provisoirement
déclencher mécano concrétiser préfère
dérision tir atteints euphorie
salope face large notaire
introuvable deviser bénéficient renom
lubbers draguer républicain baiser
implications simultanée affliction envoyée
boulot auxquels carnaval bûcher
insulaire consul équivaut connaissances
admettent aviron délateur marocain
fleurir prouvost impossibles user
labour labeur tiré liquider
suède renommé couver démographiques
fêlé jupon naufrage bac
lassant autos sorcier arrêtée
virtuosité sentier diète penchant
allécher passif robuste situer
délicieux colporter bang miliciens
francophones sirène bilan révocations
abri moraux fréquents enfouir
cinq luxurieux rapportés roland
médaille anthropophage jugés cotonnade
ventes entiers donateurs passe
semblant guide fureur altruisme
rendez conservateur militantisme livret
acquise prééminence correspondant sifflets
mesures télescope édifier mesquinerie
résistants bribe noirs implantées
vocifération réalités bamboula prolonge
ancre surmonté déchirer tien
relatives ferrée éclaté bourgeoisie
mollet deviendront déniaiser concordance
gratuite remaniement démographique étagère
cargo bulle maugham freud
pasteur illustrations manœuvre chuté
organisent masques resteront accumulé
éreinté compositrice antipathie facultatif
savantes prudemment prétendue speed
valeurs violente réjouir cuveau
passagers coûté marchepied crocheteur
navales lait kenya vierge
abbesse plovdiv cécile quentin
anticipée affluer fermée ventrière
anarchie souveraineté apposition prestidigitateur
<?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__);