Come creare password casuali in JavaScript usando il metodo Math.random()

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.

Torna su