ASP: Generazione di una password casuale

Vediamo come costruire una funzione ASP per generare una parola casuale di una determinata lunghezza.

Per arrivare a questo risultato per prima cosa creeremo una funzione che che ci restituisce un numero casuale compreso tra 1 e un valore che passeremo come parametro, questa funzione la chiameremo rndNum:

function rndNum(max)
	randomize
	rndNum = Int(max*Rnd+1)
end function


Quindi scrivendo:

<%=rndNum(15)%>

Otteniamo la stampa di un numero casuale da 1 a 15

Questa funzione sarà il cuore della funzione rndWord, che si occuperà di generare la parola vera e propria.
L’idea alla base di questa funzione è molto semplice, definiamo una stringa di caratteri:

dim charStr
charStr="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

Supponiamo di voler generare una parola lunga 10 cartteri, sapendo inoltre che la stringa charStr è lunga 62 caratteri, andiamo a generare per 10 volte un nuemero casuale x compreso tra 1 e 62 e di volta in volta andiamo a prendere il carattere in posizione x.
L’unione dei caratteri selezionati fornirà la parola casuale.

A questo punto possiamo scrivere la funzione rndWord:

function rndWord(lenWord)
	dim charStr
	charStr="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
	max = len(charStr)
	word=""
	if lenWord>0 then
		for i=1 to lenWord
			word=word&Mid(charStr, rndNum(max), 1)
		next
	end if
	rndWord = word
end function

L’utilizzo è molto semplice, basta chiamare la funzione passandogli come parametro la lunghezza della parola che vogliamo ottenere:

<%=rndWord(15)%>

Questo codice produrrà una stringa casauale di 15 caratteri