Generatore di password online

Home

In questa pagina descrivo come creare automaticamente (in modo casuale - random) una password on line (al momento funziona solo per Internet Explorer).

Password Generator


Lunghezza Password
Maiuscole
Miuscole
Numeri
Simboli

 


Password sicura

La password non viene creata lato server ma direttamente sulla vostra macchina (se volete potete provare anche ad usare la pagina lavorando off-line) quindi non c'è alcun pericolo che qualcuno la possa carpire (a meno che non abbiate qualcuno alle vostre spalle).

Come creare la password

Basta inserire la lunghezza della password ed il numero massimo di occorrenze di maiuscole, minuscole, numeri e simboli di interpunzione. La somma di questi quattro parametri può anche essere maggiore della lunghezza totale (ovvero il numero massimo di occorrenze per un tipo di carattere non verrà raggiunto), ma non minore altrimenti viene generato un messaggio di errore. Le impostazioni che preferisco rispettano il 4-4-2, ovvero quattro maiuscole, quattro minuscole e due numeri.

Questo password generator, o key generator, crea una id key per le login in modo sicuro. Ricordatevi che una password abbstanza lunga è difficilmente soggetta a crack, quindi una key generation molto variegata, con maiuscole (upper case), minuscole (lower case), numeri e simboli di interpunzione è difficile da scoprire (exlpoit).

Linguaggio del programma

Il programma era scritto inizialmente in Visual Basic, poi è stato tradotto in vbscript in modo da tenerlo su un pagina web, quindi funziona solo con Internet Explorer.

Il codice può essere tranquillamente inserito in una form visual basic con piccolissime variazioni
Quando e se avrò il tempo di tradurlo in javascript non lo so (probabilmente mai), per il momento può andare anche così, tanto lo uso solo io ...

Il codice sorgente

	Sub calcola()
		new_pass2.innerText = ""
		Randomize
		Dim i
		
		Dim vmaiusc, vminusc, vinterp, vnumeri
		vmaiusc = 0
		vminusc = 0
		vinterp = 0
		vnumeri = 0
		Dim temp
		If cintp(Interp.value) + cintp(Maiusc.value) + cintp(Minusc.value) + cintp(Num.value) < cintp(lunghezza.value) Then
			MsgBox ("Controllare i valori massimi per i tipi di caratteri")
			Exit Sub
		End If
	    
	    
		For i = 1 To cintp(lunghezza.value)
			Randomize
			temp = Int((4 * Rnd) + 1)
			Select Case temp
			Case 1
				If vmaiusc < cintp(Maiusc.value) Then
					new_pass2.innerText = new_pass2.innerText & Maiuscola()
					vmaiusc = vmaiusc + 1
				Else
					i = i - 1
				End If
	            
			Case 2
				If vminusc < cintp(Minusc.value) Then
					new_pass2.innerText = new_pass2.innerText & Minuscola()
					vminusc = vminusc + 1
				Else
					i = i - 1
				End If
	        
	        
			Case 3
				If vinterp < cintp(Interp.value) Then
					new_pass2.innerText = new_pass2.innerText & InterPunzione()
					vinterp = vinterp + 1
				Else
					i = i - 1
				End If
			Case 4
				If vnumeri < cintp(Num.value) Then
					new_pass2.innerText = new_pass2.innerText & Numero()
					vnumeri = vnumeri + 1
				Else
					i = i - 1
				End If
			End Select
		Next
		new_pass2.innerText = new_pass2.innerText
	End Sub

	Function Minuscola()
		Randomize
		Minuscola = Chr(Int((26 * Rnd) + 1) + 96)
	End Function

	Function InterPunzione()
		Randomize
		Dim a(31)
		Dim i
		For i = 1 To 15
			a(i) = Chr(32 + i)
		Next
	    
		For i = 16 To 22
			a(i) = Chr(42 + i)
		Next
	    
		For i = 23 To 28
			a(i) = Chr(68 + i)
		Next
		a(29) = "{"
		a(30) = "|"
		a(31) = "}"
		InterPunzione = a(Int((31 * Rnd) + 1))
	End Function

	Function Maiuscola()
		Randomize
		Maiuscola = Chr(Int((26 * Rnd) + 1) + 64)
	End Function

	Function Numero()
		Randomize
		Numero = Chr(Int((10 * Rnd) + 1) + 47)
	End Function

	Function cintp(var)
		On Error Resume Next
		cintp = 0
		cintp = CInt(var)
	End Function


Home
Torna alla home page