PHP: creare password memorable (robuste ma facili da ricordare)

Short link

In PHP è semplice generare una password robusta ma facile da ricordare.

Dato un dizionario di parole separate da una nuova riga (la lingua può anche non esistere nella realtà), possiamo implementare la seguente soluzione:


function memorable_password() {
    $dictionary = file_get_contents('words.txt');
    $words = preg_split('/\n/', $dictionary);
    $prefix_word = ucfirst($words[mt_rand(0, count($words) -1)]);
    $suffix_word = $words[mt_rand(0, count($words) -1)];
    $rand_int = mt_rand(100, 99999);
    $special_chars = explode(',', '@,[,],!,|,%,{,},(,)');
    $special_char = $special_chars[mt_rand(0, count($special_chars) -1)];
    return $prefix_word . $rand_int . $special_char . $suffix_word;
}