Ciao..
Qualcuno ha gia fatto un generatore di password in Visual Basic che generi password tipo "Axx99;"
grazie mille
Ciao..
Qualcuno ha gia fatto un generatore di password in Visual Basic che generi password tipo "Axx99;"
grazie mille
Ne puoi trovare tantissimi in internet..cmq se ti interessa vedere il codice sorgente posso creartene uno...
Ciao, Andrea
ho cercato ma fin'ora non ho trovato niente...
Io ho bisogno di una cosa semplice ..
-numero min. 6 char e max 12.
-deve contenere minuscole,maiuscole,numeri e caratteri di punteggiatura.
Se hai gia qualche sorgente gia pronto da prenere spunta sarò davvero![]()
No mi dispiace...
ma credo che non sia difficile:
fammi pensare un attimo... ... ...
Potresti utilizzare la funzione RANDOM o RANDOMIZE
(ora non ricordo il nome esatto)
che ti genera dei numeri casuali
ti faccio un esempio totalmente basato sulla logica e non sul VB.
supponiamo che tu utilizzi 4 funzioni random sequenziali
e che ognuna di loro ti genera 2 numeri,
tu li concateni: MIApassword = rnd1 & rnd2 & rnd3 & rnd4
poi ti connetti es: ad un database o volendo anche
ad un file di testo (in cui sono registrate tutte le password).
ed esegui un ciclo loop
dal campo1 all'ultimo campo del Database o file
e controlli se trovi un valore identico a quello contenuto
in MIApassword
"SE LO TROVI"
chiudi la connessione al Database o al file di testo
e con un istruzione GOTO rimandi il flusso del tuo programma
alla riga prima del primo RANDOM (in pratica fai generare una
nuova password).
"SE INVECE NON LO TROVI (quindi MIApassword è univoca)"
registri il nuovo utente nel Database o file txt
e mandi a display l'esito della registrazione.
SEMPLICE NO!!!
P.S. volendo puoi rendere il tutto più professionale
formattando meglio i numeri generati dalle funzioni RANDOM
tipo se esce 12 gli assegni un codice alfanumenrico ecc...
Questa è la mia soluzione prettamente logica
spero che ti possa essere di aiuto.
Ciao
mmmmmm ma quello che non ho capito è come fare generare le lettere e le minuscole...??
mmmmmm ma quello che non ho capito è come fare generare le lettere e le minuscole...??
semplice associ un codice "stringa" ad ogni combinazione di numeri
es:
se la prima funzione RANDOM ti estrapola 3
la seconda 9
e la terza 2
tu gli associ es: Dc9aZ2
e così puoi crearti 999 combinazioni differenti.
if rnd1 = 0 and rnd2 = 0 and rnd3 = 0 then MIApassword = Dc9aZ2
Questo è solo un semplice esempio
Se vuoi fare una "COSA SERIA" dovresti crearti un bell'algoritmo
in cui ad ogni nuovo utente modifichi (incrementi) il modo di effettuare il random e di concatenare i risultati.
es: al primo utente registrato fai
MIApassword = rnd1 & rnd2 & rnd3
al secondo invece cambi l'ordine di concatenazione in
MIApassword = rnd2 & rnd3 & rnd1
e così via...
Basta utilizzare una variabile CONTATORE
e salvarla in un file o in un database
e poi esegui un ciclo if
if contatore = 1 then .........
Ciao
oppure utilizzi la funzione VB che converte
i numeri in caratteri ascii.
rnd1 = 4
rnd2 = 2
miaPassword1_2 = rnd1 & rnd2
miaPassword1_2 = asc(miaPassword1_2)
(non ricordo se la funzione sia ASC())
poi:
rnd3 = 5
rnd4 = 0
miaPassword3_4 = rnd3 & rnd4
miaPassword3_4 = asc(miaPassword3_4)
ecc...
Dim pass As String
nu = 6 'Il numero di caratteri della password
For i = 1 To nu
Do
Randomize Timer
a = Int(Rnd * 122) + 1
Loop Until (a > 64 And a < 91) Or (a > 96 And a < 123) Or (a > 47 And a < 58)
'Ripete il ciclo finchè il numero trovato non corrisponde al codice ascii di una lettera maiuscola, minuscola o ad una cifra... se vuoi utilizzare solo lettere e non cifre elimina l'ultimo or..
pass = pass + Chr$(a) 'Crea la password
Next i
ora in pass è contenuta la password che ti serve...
'Se no....
Dim Parola As String
Randomize
nChar = 5 'numero caratteri.
For i = 1 to nChar
tipo = int(rnd * 3) + 1
If tipo = 1 Then
carattere = chr(97 + int(rnd * 25)) '25 numero di lettere
'97 la 'a' minuscola
elseif tipo = 2 Then
carattere = chr(65 + int(rnd * 25)) '25 numero di lettere
'65 la 'A' maiuscola
elseif tipo = 3 Then
carattere = int(rnd * 9) + 1 'Numero da 1 a 9
End if
Parola = Parola & carattere
Next
MsgBox Parola
jabjoint