jQuery: generare una password random (casuale)

jQuery: generare una password random (casuale)

Il termine random (casuale) in JavaScript significa in realtà pseudo-casuale, perchè il metodo random() dell'oggetto Math non è in grado di generare valori effettivamente casuali. Nonostante questo limite, possiamo usare tale metodo per implementare una funzione globale jQuery per generare password. Si tratta di un tentativo di emulare funzioni similari disponibili in PHP, anche se la funzione che useremo non tiene conto dei caratteri duplicati. Tale funzione accetta come parametro un numero che servirà a determinare la lunghezza della password generata. Vediamo il codice.

La funzione è la seguente:


(function($) {

  $.generateRandomPassword = function(limit) {
  
    limit = limit || 8;
  
    var password = '';
  
    var chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:;><!"£$%&/()=?^*°#_-@+[]{}|,.§ç';
  
    var list = chars.split('');
    var len = list.length, i = 0;
    
    do {
    
      i++;
    
      var index = Math.floor(Math.random() * len);
      
      password += list[index];
    
    } while(i < limit);
    
    return password;
 
  };


})(jQuery);

Esempio d'uso con un limite di 13 caratteri:


$(function() {

  $('#generate').click(function(event) {
  
    var pwd = $.generateRandomPassword(13);
    
    $('<p/>').text(pwd).
    insertAfter($(this).parent());
    
    event.preventDefault();
  
  });

});

Potete visionare l'esempio finale in questa pagina.

Torna su