Generare una password casuale con javascript è molto semplice.
Dal lato del codice, è sufficiente importare un javascript di poche righe che si occupa di personalizzare la tipologia di password voluta e la sua lunghezza.
Il codice che trovate qui sotto, liberamente scaricabile, è completo e funzionante e permette di generare una password alfanumerica con maiuscole e minuscole, di una lunghezza casuale compresa tra 6 e 15.
Download script
Vediamo in breve come personalizzarlo.
Il form
Nel mio caso ho deciso di immagazzinare la stringa-password in un campo input. Alla pressione sul link, si richiamerà lo script javascript che genererà la password e la metterà in automatico come valore al campo input.
Nulla vieta, però, che possiamo semplicemente immagazzinarla in una variabile per inviarla via posta o stamparla a video.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<script type="text/javascript" src="javascript.js"></script> <!-- importazione delle funzioni javascript --> [...] <body> <input type="text" name="password" id="password" value=""> <br /><br /> <a href="javascript:void(0)" onClick="crea_password();">Clicca qui per creare una password casuale</a> </body> |
Lo script javascript
Le variabili personalizzabili sono tre:
elencoCaratteri
: la password sarà generata tenendo conto dei soli caratteri presenti in questa variabile. Quindi eventuali simboli vanno aggiunti all’interno di questa stringa.
minimoCaratteri
e massimoCaratteri
: la lunghezza della stringa sarà racchiusa tra questi valori.
L’ultima riga (riga 19) si occupa di associare la password generata al valore dell’elemento che ha come id “password” (nel mio caso, il campo input).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
function crea_password(){ var elencoCaratteri="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; var minimoCaratteri=6; var massimoCaratteri=15; var differenzaCaratteri=massimoCaratteri-minimoCaratteri; var lunghezza=Math.round((Math.random()*differenzaCaratteri)+minimoCaratteri); var incremento=0; var password=""; while(incremento<lunghezza){ password+=elencoCaratteri.charAt(Math.round(Math.random()*elencoCaratteri.length)); incremento++; } document.getElementById('password').value=password; } |