PHP Generatore di password casuali

nov 22nd, 2009 | Filed under PHP, Snippet

Link sponsorizzati

In molti contesti un generatore di password casuali può essere utile, specialmente in un sistema di gestione utenti. Pensiamo di voler resettare la password di un utente su richiesta, uno script del genere potrebbe essere utile, e, ovviamente, più generico è meglio è.

Lo snippet è molto semplice, io l’ho fatto così.

Link sponsorizzati

<?php
function getPassword($length = 5, $caps = true, $num = true, $special = true) {
    $ncaps = "abcdefghilmnopqrstuvzxwkjy";
    $dcaps = "ABCDEFGHILMNOPQRSTUVZXWKJY";
    $dnum = "1234567890";
    $dspecial = "!£$%&/()=?^;:_,.-@#][{}";

    $dict = $ncaps;
    if($caps)
        $dict .= $dcaps;
    if($num)
        $dict .= $dnum;
    if($special)
        $dict .= $dspecial;

    $pgen = str_shuffle($dict);

    return substr($pgen, 0, $length);
}
?>

Il primo parametro indica la lunghezza della password, il secondo indica se si vuole usare anche i caratteri grandi, il terzo se si vogliono usare anche i numeri, e, l’ultimo, se si vogliono usare anche i caratteri speciali. Ovviamente possono essere combinati tra loro in vari modi.

Dal punto di vista pratico la password viene generata facendo una permuttazione casuale della stringa risultante (generata attraverso la concatenazione delle variabili iniziali secondo i parametri passati) attraverso la funzione str_shuffle e estrapolandone i primi n caratteri (dove n è la lunghezza specificata come primo parametro) attraverso substr.

Un esempio del suo utilizzo può essere

echo getPassword()."<br />";
echo getPassword(5, true, true, false)."<br />";
echo getPassword(8, true, false, false)."<br />";
echo getPassword(4, false, false, false)."<br />";
echo getPassword(10);

e via discorrendo…

Link sponsorizzati

Se ti è piaciuto l'articolo condividilo!

Post correlati:

Non sono ancora stati lasciati commenti.