Possiamo utilizzare JavaScript anche per generare password casuali. Il compito si rivela facilitato dalla presenza del metodo random() dell'oggetto Math.
Possiamo implementare la seguente funzione:
'use strict';
const createPassword = (charNum = 16) => {
const validCharacters = 'abcdefghijklmnopqrstuxyvwzABCDEFGHIJKLMNOPQRSTUXYVWZ0123456789><!|/()=?*+#-_@:.;,&%';
const validCharNumber = validCharacters.length;
let result = '';
for(let i = 0; i < charNum; ++i) {
let index = Math.floor((Math.random() * (validCharNumber - 1)) + 1);
result += validCharacters[index];
}
return result;
}
La funzione accetta come unico argomento la lunghezza della password da restituire (il valore predefinito รจ di 16 caratteri).
Se invece vogliamo creare una password alfanumerica contenente lettere minuscole e numeri senza determinarne in anticipo la lunghezza, possiamo scrivere:
'use strict';
const createPassword = () => {
return Math.random().toString(36).substring(2);
};
Si tenga comunque presente che quest'ultima soluzione funziona solo nei browser.