PHP: funzione parolaCasuale()

Loading

Torna alla pagina delle funzioni

Questa funzione prende come parametro un numero intero e ritorna una parola casuale della lunghezza richiesta.

Funzione

function parolaCasuale($numeroChar){
    // Alfabeto numerico + minuscole da cui pescare i caratteri
    $lettere = "0123456789abcdefghijklmnopqrstuvwxyz";
    // Inizializzo la stringa risultato vuota
    $rndWord = "";

    // Ripeto $numeroChar volte
    for ($i = 0; $i < $numeroChar; $i++){
        // Genero un indice casuale tra 0 e la lunghezza di $lettere
        $rndNum = rand(0, strlen($lettere) - 1);
        // Aggiungo il carattere corrispondente a $rndWord
        $rndWord .= $lettere{$rndNum};
    }

    // Restituisco la parola casuale generata
    return $rndWord;
}

Spiegazione

Questa funzione genera una stringa casuale di lunghezza fissa n ($numeroChar), usando solo cifre e lettere minuscole.

  • Prepara un “alfabeto” in $lettere.
  • In un ciclo, sceglie un indice casuale e aggiunge il carattere corrispondente a $rndWord.
  • Alla fine ritorna una parola del tipo "3a7xk", utile per codici temporanei, token di test, ecc.

Versione estesa

Ecco una versione estesa una versione più completa che usa:

  • simboli/codici speciali
  • numeri
  • lettere minuscole
  • lettere maiuscole
function parolaCasuale($numeroChar){
    // Insieme dei caratteri disponibili:
    // numeri, lettere minuscole, lettere maiuscole e simboli
    $caratteri = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()-_=+[]{}<>?";

    // Inizializzo la stringa finale vuota
    $rndWord = "";

    // Ripeto il ciclo tante volte quanto indicato in $numeroChar
    for ($i = 0; $i < $numeroChar; $i++){
        // Scelgo una posizione casuale valida nella stringa dei caratteri
        $rndNum = rand(0, strlen($caratteri) - 1);

        // Aggiungo il carattere casuale alla stringa finale
        $rndWord .= $caratteri[$rndNum];
    }

    // Restituisco la parola/codice casuale generato
    return $rndWord;
}

Spiegazione

Questa funzione genera una stringa casuale della lunghezza desiderata.

  • $caratteri contiene tutti i simboli che possono essere estratti.
  • Il ciclo for viene eseguito $numeroChar volte.
  • A ogni iterazione viene scelto un indice casuale.
  • Il carattere corrispondente viene aggiunto a $rndWord.
  • Alla fine la funzione restituisce un codice casuale.

Esempi

echo parolaCasuale(8);

Possibili risultati:

  • aK7$Pq2!
  • 9Zm@1Ab#
  • X2d!Lp8?